[PATCH 3/6] nvme: add per request retry timer
Sagi Grimberg
sagi at grimberg.me
Fri Sep 11 15:53:33 PDT 2026
On 06/09/2026 3:09, Sagi Grimberg wrote:
>
>
> On 02/09/2026 16:41, Christoph Hellwig wrote:
>> On Sun, Aug 23, 2026 at 11:48:59AM +0300, 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.
>> This blows every nvme_request. I think we'd only need a per-CRD
>> level retry list and timer, can't we do that instead?
>
> I can't see how, because we'd be modifying the timer potentially
> indefinitely while
> requests are pending....
>
> I understand that this bloats the nvme_request, however this is not
> accessed in the hot path.
Christoph, would it be preferable to have req->retry_timer dynamically
allocated? It would reduce
the size of nvme_request.
More information about the Linux-nvme
mailing list