From: Adir Lev Date: Wed, 3 May 2017 11:17:51 +0000 (+0000) Subject: msg/async/rdma: improves RX buffer management X-Git-Tag: v13.0.0~223^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=720d044db13886ac9926d689e970381cdf78f8eb;p=ceph.git msg/async/rdma: improves RX buffer management The commit adds following changes: - rx buffers are allocated from the memory pool (boost::pool) - flat memory layout for buffer data/metadata to reduce cpu cache misses - number of receive buffers can be much larger than receive queue len - post new buffers to the srq as soon as possible. - stat counters Signed-off-by: Alex Mikheev --- diff --git a/src/common/legacy_config_opts.h b/src/common/legacy_config_opts.h index c65b52acb60..5c28e939207 100644 --- a/src/common/legacy_config_opts.h +++ b/src/common/legacy_config_opts.h @@ -165,7 +165,10 @@ OPTION(ms_async_rdma_device_name, OPT_STR) OPTION(ms_async_rdma_enable_hugepage, OPT_BOOL) OPTION(ms_async_rdma_buffer_size, OPT_INT) OPTION(ms_async_rdma_send_buffers, OPT_U32) +//size of the receive buffer pool, 0 is unlimited OPTION(ms_async_rdma_receive_buffers, OPT_U32) +// max number of wr in srq +OPTION(ms_async_rdma_receive_queue_len, OPT_U32) OPTION(ms_async_rdma_port_num, OPT_U32) OPTION(ms_async_rdma_polling_us, OPT_U32) OPTION(ms_async_rdma_local_gid, OPT_STR) // GID format: "fe80:0000:0000:0000:7efe:90ff:fe72:6efe", no zero folding diff --git a/src/common/options.cc b/src/common/options.cc index 9101078cb8d..afc847a9b00 100644 --- a/src/common/options.cc +++ b/src/common/options.cc @@ -736,7 +736,11 @@ std::vector