numam-spdk/lib/rdma
Alexey Marchuk 1eae58ff6d rdma: Add statistics per qpair
These statistics can help to estimate efficiency of
Work Requests batching and show busy/idle polls ratio.

Send: the doorbell updates statistics for verbs
provider are incremented per each ibv_post_send call,
for mlx5_dv per each ibv_wr_complete call.

Recv: the doorbell updates statistics for both
providers are updated when either ibv_post_recv
or ibv_post_srq_recv functions are called.

Each qpair on initialization accepts an optional
pointer to shared statistics (nvmf/nvme poll groups).
If the pointer to statistics is not provided then
qpair allocates its own structure. That is done
to support cases when NVME RDMA initiator doesn't
use poll groups, so we can avoid checks that qpair
has statistics in IO path

Change-Id: I07dea603cb870b85ea23c42e8e2c4520b1c66252
Signed-off-by: Alexey Marchuk <alexeymar@mellanox.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6293
Community-CI: Broadcom CI
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2021-03-01 10:17:13 +00:00
..
common.c rdma: Add statistics per qpair 2021-03-01 10:17:13 +00:00
Makefile so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
rdma_mlx5_dv.c rdma: Add statistics per qpair 2021-03-01 10:17:13 +00:00
rdma_verbs.c rdma: Add statistics per qpair 2021-03-01 10:17:13 +00:00
spdk_rdma.map rdma: Add functions to queue and flush recv WRs 2021-02-22 10:05:27 +00:00