Spdk/test
Evgeniy Kochetov 3b26e2c594 nvme/rdma: Create poller and CQ on demand
Original implementation creates pollers and CQs for all discovered
devices at poll group creation. Device (ibv_context) that has no
references, i.e. has no QPs, may be removed from the system and
ibv_context may be closed by rdma_cm. In this case we will have a CQ
that refers to closed ibv_context and it may crash in ibv_poll_cq.

With this patch pollers are created on demand when we create the first
QP for a device. When there are no more QPs on the poller, we destroy
the poller. This also helps to avoid polling CQs that don't have any
QPs attached.

Signed-off-by: Evgeniy Kochetov <evgeniik@nvidia.com>
Change-Id: I46dd2c8b9b2902168dba24e139c904f51bd1b101
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/13692
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2022-07-22 07:27:22 +00:00
..
accel_engine accel: add ISAL based compress/decompress to accel SW module 2022-05-23 19:10:46 +00:00
app check_format: For C files only, fix return type breaks 2022-06-27 09:33:48 +00:00
bdev Bdevperf: properly handle and display the IO failure 2022-07-15 12:51:52 +00:00
blobfs check_format: For C files only, fix return type breaks 2022-06-27 09:33:48 +00:00
blobstore blobstore: add test script for blobstore grow 2022-06-28 17:55:43 +00:00
common pkgdep/git: suppress werrors during nvme-cli building 2022-07-18 11:51:23 +00:00
compress bdev module: remove support for deprecated RPC names 2022-05-23 16:13:00 +00:00
cpp_headers Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
dd test/dd: Simple tests utilizing uring RPCs 2021-12-20 08:46:13 +00:00
dma check_format: For C files only, fix return type breaks 2022-06-27 09:33:48 +00:00
dpdk_memory_utility check_format: Ignore shellcheck's SC2128 and SC2178 directives 2021-06-30 22:43:05 +00:00
env check_format: For C files only, fix return type breaks 2022-06-27 09:33:48 +00:00
event check_format: For C files only, fix return type breaks 2022-06-27 09:33:48 +00:00
external_code check_format: For C files only, fix return type breaks 2022-06-27 09:33:48 +00:00
fuzz nvme_fuzz: pass trid on command line only 2021-09-27 10:55:34 +00:00
interrupt scripts: move python modules to python directory 2022-04-05 14:40:47 +00:00
ioat build: Example applications build to build/example 2020-06-15 15:27:16 +00:00
iscsi_tgt sock: Add ktls and tls_version to spdk_sock_opts 2022-06-30 07:44:26 +00:00
json_config bdev module: remove support for deprecated RPC names 2022-05-23 16:13:00 +00:00
lvol bdev module: remove support for deprecated RPC names 2022-05-23 16:13:00 +00:00
make test: avoid private and public headers w/ same name 2022-07-21 08:12:21 +00:00
nvme test/deallocated_value: shutdown controllers before the quit 2022-07-01 09:29:52 +00:00
nvmf sock: Add ktls and tls_version to spdk_sock_impl_opts 2022-07-22 06:41:39 +00:00
ocf test/fio: supress fio output files 2022-06-23 07:43:36 +00:00
openstack openstack: change transport type to tcp 2022-06-29 07:09:48 +00:00
pmem bdev module: remove support for deprecated RPC names 2022-05-23 16:13:00 +00:00
rpc scripts: move python modules to python directory 2022-04-05 14:40:47 +00:00
rpc_client check_format: For C files only, fix return type breaks 2022-06-27 09:33:48 +00:00
rpc_plugins autotest: Use rpc_cmd() for rpc plugin-based tests 2021-04-02 08:22:42 +00:00
scheduler test/scheduler: wait for scheduler after thread creation in busy() 2022-06-20 09:56:09 +00:00
setup scripts/setup: Skip devices which have any valid data present 2022-04-06 07:21:17 +00:00
sma test/sma: add vhost tests on qemu vm 2022-05-20 09:16:54 +00:00
spdkcli event/vhost: separate vhost subsystem to scsi and blk 2022-05-20 09:20:07 +00:00
thread Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
unit nvme/rdma: Create poller and CQ on demand 2022-07-22 07:27:22 +00:00
vfio_user test/vfio_user: Remove subsystem listener while VM is connected, issue #2246 autotest. 2022-02-18 00:00:22 +00:00
vhost test/vhost: Avoid globbing in the vm_exec() argument 2022-07-15 12:24:23 +00:00
vmd test: replace VMD_WHITELIST with VMD_ALLOWED 2020-12-03 09:41:07 +00:00
Makefile Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
spdk_cunit.h Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00