Spdk/lib/nvmf
Jim Harris 30c8b17f1f nvmf/rdma: account for unassociated qpairs when picking pg
If a lot of qpairs are connected all at once, the
RDMA optimal_poll_group logic does not work correctly,
because it only accounts for qpairs that received
their CONNECT capsule.  Now that we have a counter
for a poll group's unassociated qpairs, use that value
to supplement the current io qpair count.

We can just assume for now that all of these unassociated
qpairs are io qpairs.  That won't always be true, but
for purposes of picking the optimal poll group it is
sufficient.

Note that for RDMA, we could increment the counters
based on the RDMA qpair ID in the private data in the
rdmacm connect, but to keep the code simpler and common
across all transports, we defer the accounting until
after receiving the CONNECT command, so that it is
the same for all transports.

Fixes issue #2800.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: I5897d6ebac23d3b78b100e3fef5a7f9fb5304820
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/15695
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2022-12-01 10:57:29 +00:00
..
ctrlr_bdev.c nvmef: don't set optimal I/O boundary if write_unit_size != 1 2022-11-30 08:50:29 +00:00
ctrlr_discovery.c update Intel copyright notices 2022-11-10 08:28:53 +00:00
ctrlr.c nvmf: make poll groups count unassociated qpairs 2022-12-01 10:57:29 +00:00
fc_ls.c update Intel copyright notices 2022-11-10 08:28:53 +00:00
fc.c update Intel copyright notices 2022-11-10 08:28:53 +00:00
Makefile nvmf: Add copy command support 2022-11-30 08:50:06 +00:00
nvmf_fc.h update Intel copyright notices 2022-11-10 08:28:53 +00:00
nvmf_internal.h nvmf: Add copy command support 2022-11-30 08:50:06 +00:00
nvmf_rpc.c update Intel copyright notices 2022-11-10 08:28:53 +00:00
nvmf.c nvmf: make poll groups count unassociated qpairs 2022-12-01 10:57:29 +00:00
rdma.c nvmf/rdma: account for unassociated qpairs when picking pg 2022-12-01 10:57:29 +00:00
spdk_nvmf.map nvmf: add spdk_nvmf_ctrlr_[save|restore]_migr_data() APIs 2022-09-20 10:17:24 +00:00
subsystem.c update Intel copyright notices 2022-11-10 08:28:53 +00:00
tcp.c update Intel copyright notices 2022-11-10 08:28:53 +00:00
transport.c update Intel copyright notices 2022-11-10 08:28:53 +00:00
transport.h update Intel copyright notices 2022-11-10 08:28:53 +00:00
vfio_user.c nvmf/vfio-user: drop thread from struct nvmf_vfio_user_cq 2022-11-30 08:47:31 +00:00