Re: [PATCH v4] driver core: shut down devices asynchronously

From: Greg Kroah-Hartman
Date: Sat Oct 21 2023 - 06:59:04 EST


On Thu, Oct 19, 2023 at 03:40:48PM -0500, stuart hayes wrote:
>
>
> On 10/5/2023 4:36 AM, Greg Kroah-Hartman wrote:
> > On Thu, Sep 21, 2023 at 11:34:43AM -0500, Stuart Hayes wrote:
> > > Shut down devices asynchronously, ensuring that each device is shut down
> > > before its parents.
> > >
> > > This can dramatically reduce system shutdown/reboot time on systems that
> > > have devices that take many seconds to shut down, such as some NVMe drives.
> > > On one system tested, the shutdown time went from 11 minutes without this
> > > patch to 55 seconds with the patch.
> >
> > That's a nice improvement, but I think we need a lot more testing on a
> > wide range of systems before we can take a patch like this.
> >
> > Also, what about busses that don't want this type of shutdown? We allow
> > busses to opt-in for async probing, shouldn't that be also done for
> > shutting them down to resolve issues for busses that can not handle
> > this?
> >
> > thanks,
> >
> > greg k-h
>
> Yes, I could add something like what is done for async probing, so drivers
> have to opt in to async shutdown of their devices.
>
> But I'm not sure how to get it tested on a wide range of systems, other than
> than having the patch in the kernel.

Yes, breaking things is the only way you will know :)

> What if it defaults to synchronous
> shutdown for now, but the option is there so people are able to test async
> shutdown by changing an attribute in sysfs? Then drivers could be patched
> later to opt in to async shutdown of their devices by default...?

Yes, that will be the proper way forward, default to what you know works
today, and then busses can opt-in for the async option if they work
properly. That's what we did with probing, so it can mirror that.

thanks,

greg k-h