[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20251204-pause-lima-29ecb942@mheyne-amazon>
Date: Thu, 4 Dec 2025 19:34:26 +0000
From: "Heyne, Maximilian" <mheyne@...zon.de>
To: Keith Busch <kbusch@...nel.org>
CC: Jens Axboe <axboe@...nel.dk>, Christoph Hellwig <hch@....de>, "Sagi
Grimberg" <sagi@...mberg.me>, "linux-nvme@...ts.infradead.org"
<linux-nvme@...ts.infradead.org>, "linux-kernel@...r.kernel.org"
<linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v2] nvme: Let the blocklayer set timeouts for requests
On Thu, Dec 04, 2025 at 09:13:35AM -0700, Keith Busch wrote:
> On Thu, Dec 04, 2025 at 02:11:50PM +0000, Heyne, Maximilian wrote:
> > @@ -724,10 +724,8 @@ void nvme_init_request(struct request *req, struct nvme_command *cmd)
> > struct nvme_ns *ns = req->q->disk->private_data;
> >
> > logging_enabled = ns->head->passthru_err_log_enabled;
> > - req->timeout = NVME_IO_TIMEOUT;
> > } else { /* no queuedata implies admin queue */
> > logging_enabled = nr->ctrl->passthru_err_log_enabled;
> > - req->timeout = NVME_ADMIN_TIMEOUT;
> > }
>
> I was trying to think of any in-kernel path using __submit_sync_cmd with
> an IO queue, and quick search shows there's just one: zns report zones.
>
> Everything else uses the admin queue, which doesn't have a sysfs tunable
> for its request_queue's default timeout. All we have is the nvme module
> parameter, which is writable after loading. Since that's the only way a
> user can modify the default time for that queue, I think we need to
> leave that req->timeout value as-is.
Ok sound like a v3 is needed where I only delete the line with
NVME_IO_TIMEOUT but leave the NVME_ADMIN_TIMEOUT and add a comment about
it. Will prepare such a patch.
Thanks for you reviews.
Amazon Web Services Development Center Germany GmbH
Tamara-Danz-Str. 13
10243 Berlin
Geschaeftsfuehrung: Christian Schlaeger, Christof Hellmis
Eingetragen am Amtsgericht Charlottenburg unter HRB 257764 B
Sitz: Berlin
Ust-ID: DE 365 538 597
Powered by blists - more mailing lists