[PATCH 3/6] nvme: add per request retry timer

Hannes Reinecke hare at suse.de
Mon Aug 24 06:25:07 PDT 2026


On 8/23/26 10:48 AM, Sagi Grimberg wrote:
> The existing command retry mechanism adds a request to retry
> to a retry list and modifies a request-queue (controller) wide
> dealyed queue timer.
> 
> The issue is that the existing requests in this queue may wait
> for longer periods of time as more requests are completed with
> a retry crd level.
> 
> Instead, add a per-request timer that will allow different
> requests retry in a way that is independent of other requests.
> 
> Signed-off-by: Sagi Grimberg <sagi at grimberg.me>
> ---
>   drivers/nvme/host/apple.c  |  1 +
>   drivers/nvme/host/core.c   | 24 ++++++++++++++++++++++--
>   drivers/nvme/host/fc.c     |  1 +
>   drivers/nvme/host/nvme.h   |  2 ++
>   drivers/nvme/host/pci.c    |  1 +
>   drivers/nvme/host/rdma.c   |  1 +
>   drivers/nvme/host/tcp.c    |  1 +
>   drivers/nvme/target/loop.c |  1 +
>   8 files changed, 30 insertions(+), 2 deletions(-)
> 
I'm slightly worried about the size in create in 'struct nvme_request',
but I've always found 'blk_mq_delay_kick_requeue_list()' a bit
optimistic here.

Reviewed-by: Hannes Reinecke <hare at kernel.org>

Cheers,

Hannes
-- 
Dr. Hannes Reinecke                  Kernel Storage Architect
hare at suse.de                                +49 911 74053 688
SUSE Software Solutions GmbH, Frankenstr. 146, 90461 Nürnberg
HRB 36809 (AG Nürnberg), GF: I. Totev, A. McDonald, W. Knoblich



More information about the Linux-nvme mailing list