summaryrefslogtreecommitdiffstats
path: root/drivers/fsi
diff options
context:
space:
mode:
authorKeith Busch <keith.busch@intel.com>2018-11-27 09:40:57 -0700
committerJens Axboe <axboe@kernel.dk>2018-12-07 22:26:58 -0700
commit49cd84b6f8b677ef45731ed56ddb802cdbb94c9e (patch)
tree8a8e2121253c6a15a66c9c130c165cd1f7f9cce6 /drivers/fsi
parent5a3a6d6965865d0da5c743a0f9c58f84373f88e7 (diff)
downloadlinux-49cd84b6f8b677ef45731ed56ddb802cdbb94c9e.tar.bz2
nvme: implement Enhanced Command Retry
A controller may have an internal state that is not able to successfully process commands for a short duration. In such states, an immediate command requeue is expected to fail. The driver may exceed its max retry count, which permanently ends the command in failure when the same command would succeed after waiting for the controller to be ready. NVMe ratified TP 4033 provides a delay hint in the completion status code for failed commands. Implement the retry delay based on the command completion status and the controller's requested delay. Note that requeued commands are handled per request_queue, not per individual request. If multiple commands fail, the controller should consistently report the desired delay time for retryable commands in all CQEs, otherwise the requeue list may be kicked too soon. Signed-off-by: Keith Busch <keith.busch@intel.com> Reviewed-by: Sagi Grimberg <sagi@grimberg.me> Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'drivers/fsi')
0 files changed, 0 insertions, 0 deletions