aboutsummaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python/compaction-times.py
diff options
context:
space:
mode:
authorChaitanya Kulkarni <[email protected]>2020-10-20 16:14:04 -0700
committerChristoph Hellwig <[email protected]>2020-10-22 15:28:02 +0200
commit150dfb6c834c9e0e92db7794530b09fd2b9f05c8 (patch)
tree29a45c91bc37a770898cb81c61a45021be6319f1 /tools/perf/scripts/python/compaction-times.py
parent5e063101ffacf7c14797f5185c58a967ca83c79f (diff)
nvmet: don't use BLK_MQ_REQ_NOWAIT for passthru
By default, we set the passthru request allocation flag such that it returns the error in the following code path and we fail the I/O when BLK_MQ_REQ_NOWAIT is used for request allocation :- nvme_alloc_request()  blk_mq_alloc_request()   blk_mq_queue_enter()    if (flag & BLK_MQ_REQ_NOWAIT)         return -EBUSY; <-- return if busy. On some controllers using BLK_MQ_REQ_NOWAIT ends up in I/O error where the controller is perfectly healthy and not in a degraded state. Block layer request allocation does allow us to wait instead of immediately returning the error when we BLK_MQ_REQ_NOWAIT flag is not used. This has shown to fix the I/O error problem reported under heavy random write workload. Remove the BLK_MQ_REQ_NOWAIT parameter for passthru request allocation which resolves this issue. Signed-off-by: Chaitanya Kulkarni <[email protected]> Reviewed-by: Logan Gunthorpe <[email protected]> Signed-off-by: Christoph Hellwig <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/compaction-times.py')
0 files changed, 0 insertions, 0 deletions