Spdk/lib
Jim Harris bb926e803d nvmf: make poll groups count unassociated qpairs
We make decisions on how to pick a poll group for a new
qpair by looking at each poll group's current_io_qpairs
count.  But this count isn't always accurate since it
doesn't get updated until after the CONNECT has
been received.

This means that if we accept a bunch of connections
all at once, they may all get assigned the same poll
group, because the target poll groups counter doesn't
get immediately incremented.

So add a new counter, current_unassociated_qpairs,
to account for these qpairs.  We protect this counter
with a lock, since the accept thread will increment
the counter, and the poll group thread will
decrement it when the qpair receives the CONNECT
allowing us to associated with a subsystem/controller..

If the qpair gets destroyed before the CONNECT is
received, we can use the qpair->connect_received
flag to decrement current_unassociated_qpairs.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: I8bba8da2abfe225b3b9f981cd71b6f49e2b87391
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/15693
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
2022-12-01 10:57:29 +00:00
..
accel lib/accel: set RPC accel_get_opc_assignments as SPDK_RPC_RUNTIME 2022-11-17 08:57:53 +00:00
bdev bdev: support to get histogram per channel 2022-11-29 08:28:57 +00:00
blob update Intel copyright notices 2022-11-10 08:28:53 +00:00
blobfs update Intel copyright notices 2022-11-10 08:28:53 +00:00
conf update Intel copyright notices 2022-11-10 08:28:53 +00:00
dma update Intel copyright notices 2022-11-10 08:28:53 +00:00
env_dpdk env_dpdk: allow 2211.c file to build against older DPDK 2022-11-15 08:31:28 +00:00
env_ocf update Intel copyright notices 2022-11-10 08:28:53 +00:00
event event: check that all non-app threads have exited at shutdown 2022-11-23 08:22:04 +00:00
ftl lib/ftl: Fix segfault in recovery path of unmap 2022-11-22 10:01:30 +00:00
idxd update Intel copyright notices 2022-11-10 08:28:53 +00:00
init subsystem: assert all subsystems initialized on app thread 2022-11-23 08:22:04 +00:00
ioat update Intel copyright notices 2022-11-10 08:28:53 +00:00
iscsi iscsi: fix segfault when r2t 2022-11-29 17:21:18 +00:00
json json: add spdk_json_write_named_double 2022-11-22 10:01:43 +00:00
jsonrpc update Intel copyright notices 2022-11-10 08:28:53 +00:00
log update Intel copyright notices 2022-11-10 08:28:53 +00:00
lvol update Intel copyright notices 2022-11-10 08:28:53 +00:00
nbd update Intel copyright notices 2022-11-10 08:28:53 +00:00
notify update Intel copyright notices 2022-11-10 08:28:53 +00:00
nvme nvme/pcie: validate that mptr is iova contiguous 2022-11-23 08:23:15 +00:00
nvmf nvmf: make poll groups count unassociated qpairs 2022-12-01 10:57:29 +00:00
rdma update Intel copyright notices 2022-11-10 08:28:53 +00:00
reduce update Intel copyright notices 2022-11-10 08:28:53 +00:00
rocksdb rocksdb: remove spdk_thread 2022-11-23 08:22:04 +00:00
rpc lib/rpc: add RPC allow list 2022-11-15 08:31:02 +00:00
scsi update Intel copyright notices 2022-11-10 08:28:53 +00:00
sock lib/sock: use_after_free of the group_impl point 2022-11-29 08:30:29 +00:00
thread thread: Fix error handling in spdk_interrupt_register 2022-11-24 10:08:31 +00:00
trace update Intel copyright notices 2022-11-10 08:28:53 +00:00
trace_parser update Intel copyright notices 2022-11-10 08:28:53 +00:00
ut_mock update Intel copyright notices 2022-11-10 08:28:53 +00:00
util util: add function spdk_fd_group_get_epoll_event 2022-11-22 10:01:43 +00:00
vfio_user update Intel copyright notices 2022-11-10 08:28:53 +00:00
vfu_tgt update Intel copyright notices 2022-11-10 08:28:53 +00:00
vhost vhost: defer vhost_dev_unregister until scsi tgts removed 2022-11-23 08:22:04 +00:00
virtio lib/virtio: add the ctx NULL check before dereferencing it 2022-11-30 08:50:48 +00:00
vmd update Intel copyright notices 2022-11-10 08:28:53 +00:00
Makefile update Intel copyright notices 2022-11-10 08:28:53 +00:00