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

From: stuart hayes
Date: Thu Oct 19 2023 - 16:40:59 EST




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. 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...?

Thanks for the feedback!