Spdk/lib
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 lib/accel: Add the real chained crc32 support with the example. 2021-02-25 10:25:49 +00:00
bdev lib/bdev: ensure mutex is initialized 2021-02-16 08:39:17 +00:00
blob so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
blobfs so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
conf so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
env_dpdk build: swap pci with bus_pci libs on the list 2021-02-25 10:26:48 +00:00
env_ocf lib/thead: print error log when create mempool or ring failed 2020-11-05 09:41:06 +00:00
event lib/event: improve portability 2021-02-19 11:30:22 +00:00
ftl so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
idxd idxd: update low level lib and poller to indicate busy/idle 2021-02-19 11:29:53 +00:00
ioat so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
iscsi lib/iscsi: Submit only subtasks for Data-OUT PDU sequence 2021-02-25 10:27:53 +00:00
json so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
jsonrpc so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
log so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
lvol so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
nbd nbd: set NBD_FLAG_SEND_FLUSH 2021-02-25 10:26:26 +00:00
net so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
notify so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
nvme nvme: simplify controller statemachine 2021-02-25 10:27:21 +00:00
nvmf nvmf/rdma: Use RDMA provider API to post recv WRs 2021-03-01 10:17:13 +00:00
rdma rdma: Add statistics per qpair 2021-03-01 10:17:13 +00:00
reduce so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
rocksdb build: use DEPDIRS variables to build SPDK_LIB_LIST 2020-12-18 09:40:01 +00:00
rpc so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
scsi so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
sock sock: Fix the "sock remove assert bug" in spdk_sock_group_remove_sock 2021-02-24 13:06:50 +00:00
thread so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
trace so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
ut_mock so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
util lib/util/math.c: improve portability 2021-02-10 08:44:01 +00:00
vfio_user so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
vhost lib:vhost Add version check when use RTE_VHOST_USER_ASYNC_COPY in 21.01 2021-02-11 08:40:31 +00:00
virtio so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
vmd so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
Makefile NVMe/vfio-user: add initial version vfio-user transport to NVMe driver 2021-01-21 05:00:18 +00:00