962c4c3800
We noticed the difference between the SPDK 21.10 and the latest master in a test. The simplified scenario is as follows: 1. Start SPDK NVMe-oF target 2. Run bdevperf for the target with -f parameter to suppress exit on failure. 3. Kill the target after I/O started. With the SPDK 21.10, bdevperf retries failed I/Os and exits after the test time is over. With the latest SPDK master, bdevperf hungs and does not exit even after the test time is over. The cause was as follows: reset ctrlr is repeated very quickly (once per 10ms by default) and hence I/Os were queued infinitely because nvme_io_path_is_failed() returned false if nvme_ctrlr is resetting. We should queue I/O when nvme_ctrlr is resetting only if reset is throttoled and fail-fast for the repeated failures is supported. Hence in this patch, fix the degradation and remove the related unit test cases. Reported-by: Evgeniy Kochetov <evgeniik@nvidia.com> Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Change-Id: I4047d42dc44488a05264c6a841d101a7c371358b Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/11062 Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> |
||
---|---|---|
.. | ||
accel_engine | ||
app | ||
bdev | ||
blobfs | ||
blobstore | ||
common | ||
compress | ||
cpp_headers | ||
dd | ||
dma | ||
dpdk_memory_utility | ||
env | ||
event | ||
external_code | ||
ftl | ||
fuzz | ||
interrupt | ||
ioat | ||
iscsi_tgt | ||
json_config | ||
lvol | ||
make | ||
nvme | ||
nvmf | ||
ocf | ||
openstack | ||
pmem | ||
rpc | ||
rpc_client | ||
rpc_plugins | ||
scheduler | ||
setup | ||
spdkcli | ||
thread | ||
unit | ||
vfio_user | ||
vhost | ||
vmd | ||
Makefile | ||
spdk_cunit.h |