[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