Spdk/include/spdk_internal
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
..
accel_engine.h lib/accel: Add the real chained crc32 support with the example. 2021-02-25 10:25:49 +00:00
assert.h include: Move the remainder of the code base to stdinc.h 2017-05-08 13:20:36 -07:00
event.h event: wait to shut down subsystems if scheduling in progress 2021-01-26 17:33:57 +00:00
idxd.h lib/idxd: implement idxd back end for CRC 2020-05-15 08:12:13 +00:00
lvolstore.h lvol: remove lvol_task structure 2020-04-24 15:45:21 +00:00
mock.h test: add generic unlink wrapper 2020-05-06 12:43:57 +00:00
nvme_tcp.h lib/nvmf: Use the accelerated engine to compute the data digest. 2021-02-25 10:25:49 +00:00
rdma.h rdma: Add statistics per qpair 2021-03-01 10:17:13 +00:00
sock.h sock: Fix the "sock remove assert bug" in spdk_sock_group_remove_sock 2021-02-24 13:06:50 +00:00
thread.h lib/thread: Defer exiting thread if thread is unregistering io_device 2021-01-13 10:07:51 +00:00
uring.h bdev/uring: Do not use IORING_SETUP_IOPOLL. 2020-08-04 18:27:56 +00:00
utf.h utf.h: remove #include "spdk/json.h" 2018-01-31 14:37:16 -05:00
vhost_user.h vhost_user: add VHOST_USER_PROTOCOL_F_INFLIGHT_SHMFD definition 2020-01-13 12:43:16 +00:00
virtio.h virtio: add transitional virtio device support 2020-11-20 11:00:53 +00:00