Spdk/test/unit/lib
Konrad Sztyber bf86a4d204 bdev/nvme: use asynchronous ctrlr detach functions
This patch replaces the synchronous `spdk_nvme_detach()` calls with its
asynchronous counterparts in the controller unregister path.

An additional poller is introduced to periodically poll the NVMe driver
for detach completion.  Once the detach is completed, the poller is
unregistered and the nvme_ctrlr is destroyed.  The poller uses the same
period (1ms) as the async probe poller.

Since reset and detach cannot happen at the same time, reset_poller was
renamed to reset_detach_poller and it can now store the pointer either
to the reset or detach poller, depending on the circumstances.

Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com>
Change-Id: I5eb2dd6383d98d25d1f9748af08c1a13d18acb0e
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/8729
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
2022-06-30 13:32:25 -04:00
..
accel lib/accel: rework UT for code reuse 2022-06-30 13:32:25 -04:00
bdev bdev/nvme: use asynchronous ctrlr detach functions 2022-06-30 13:32:25 -04:00
blob test: optimize unit test .gitignore files 2021-08-20 07:29:57 +00:00
blobfs test: optimize unit test .gitignore files 2021-08-20 07:29:57 +00:00
dma dma: Introduce memory domain 2021-08-20 07:26:10 +00:00
env_dpdk test: optimize unit test .gitignore files 2021-08-20 07:29:57 +00:00
event scheduler/dynamic: don't adjust tsc too much for very busy cores 2022-06-30 13:32:25 -04:00
ftl test: optimize unit test .gitignore files 2021-08-20 07:29:57 +00:00
idxd test: optimize unit test .gitignore files 2021-08-20 07:29:57 +00:00
init nvmf: Fix double controller destruction when subsys is deleted 2021-09-08 08:04:04 +00:00
ioat test: optimize unit test .gitignore files 2021-08-20 07:29:57 +00:00
iscsi test: optimize unit test .gitignore files 2021-08-20 07:29:57 +00:00
json test: optimize unit test .gitignore files 2021-08-20 07:29:57 +00:00
jsonrpc test: optimize unit test .gitignore files 2021-08-20 07:29:57 +00:00
log test: optimize unit test .gitignore files 2021-08-20 07:29:57 +00:00
lvol test: optimize unit test .gitignore files 2021-08-20 07:29:57 +00:00
notify test: optimize unit test .gitignore files 2021-08-20 07:29:57 +00:00
nvme ut/nvme_qpair: add missing mutex init 2022-06-30 13:32:25 -04:00
nvmf nvmf/vfio-user: check SQ doorbell is valid or not before use 2022-06-30 13:32:25 -04:00
reduce test: optimize unit test .gitignore files 2021-08-20 07:29:57 +00:00
rpc ut/rpc: wrap syscalls using spdk.mock.unittest.mk 2022-06-30 13:32:25 -04:00
scsi test: optimize unit test .gitignore files 2021-08-20 07:29:57 +00:00
sock test: optimize unit test .gitignore files 2021-08-20 07:29:57 +00:00
thread test: optimize unit test .gitignore files 2021-08-20 07:29:57 +00:00
util test: optimize unit test .gitignore files 2021-08-20 07:29:57 +00:00
vhost test: optimize unit test .gitignore files 2021-08-20 07:29:57 +00:00
json_mock.c ut/json_mock: Add spdk_json_write_string_fmt() 2021-02-09 11:29:53 +00:00
Makefile unittest/rpc: add rpc unittest 2021-09-06 09:55:33 +00:00