[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CA+-xHTFC6KTs6D8EdvmVe=buqw9oN5P7GJ-WWvam6M3SzeZF4g@mail.gmail.com>
Date: Fri, 4 Jul 2025 09:45:44 -0400
From: David Jeffery <djeffery@...hat.com>
To: Jeremy Allison <jra@...ba.org>
Cc: Christoph Hellwig <hch@....de>, Stuart Hayes <stuart.w.hayes@...il.com>, linux-kernel@...r.kernel.org,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>, "Rafael J . Wysocki" <rafael@...nel.org>,
Martin Belanger <Martin.Belanger@...l.com>, "Oliver O'Halloran" <oohall@...il.com>,
Daniel Wagner <dwagner@...e.de>, Keith Busch <kbusch@...nel.org>, Lukas Wunner <lukas@...ner.de>,
Jeremy Allison <jallison@....com>, Jens Axboe <axboe@...com>, Sagi Grimberg <sagi@...mberg.me>,
linux-nvme@...ts.infradead.org, Nathan Chancellor <nathan@...nel.org>,
Jan Kiszka <jan.kiszka@...mens.com>, Bert Karwatzki <spasswolf@....de>, sultan@...neltoast.com
Subject: Re: [PATCH v10 0/5] shut down devices asynchronously
On Thu, Jul 3, 2025 at 12:13 PM Jeremy Allison <jra@...ba.org> wrote:
>
> On Thu, Jul 03, 2025 at 01:46:56PM +0200, Christoph Hellwig wrote:
> >On Wed, Jun 25, 2025 at 03:18:48PM -0500, Stuart Hayes wrote:
> >> Address resource and timing issues when spawning a unique async thread
> >> for every device during shutdown:
> >> * Make the asynchronous threads able to shut down multiple devices,
> >> instead of spawning a unique thread for every device.
> >> * Modify core kernel async code with a custom wake function so it
> >> doesn't wake up threads waiting to synchronize every time the cookie
> >> changes
> >
> >Given all these thread spawning issues, why can't we just go back
> >to the approach that kicks off shutdown asynchronously and then waits
> >for it without spawning all these threads?
>
> It isn't just an nvme issue. Red Hat found the same issue
> with SCSI devices.
>
> My colleague Sultan Alsawaf posted a simpler fix for the
> earlier patch here:
>
> https://lists.infradead.org/pipermail/linux-nvme/2025-January/053666.html
>
> Maybe this could be explored.
>
Unfortunately, this approach looks flawed. If I am reading it right,
it assumes async shutdown devices do not have dependencies on sync
shutdown devices. This is not a valid assumption and so violates
dependency ordering.
Maintaining all the dependencies is the core problem and source of the
complexity of the async shutdown patches.
David Jeffery
Powered by blists - more mailing lists