[PATCH v10 0/5] shut down devices asynchronously
David Jeffery
djeffery at redhat.com
Fri Jul 4 06:45:44 PDT 2025
On Thu, Jul 3, 2025 at 12:13 PM Jeremy Allison <jra at samba.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
More information about the Linux-nvme
mailing list