Re: [PATCH 0/6] PM: Asynchronous suspend and resume of devices

Alan Stern
2009-08-27T20:46:10Z

On Wed, 26 Aug 2009, Rafael J. Wysocki wrote:

> Hi,
>
> The following patches introduce a mechanism allowing us to execute device
> drivers' suspend and resume callbacks asynchronously during system sleep
> transitions, such as suspend to RAM.
>
> The idea is explained in the changelogs of the first two patches.
>
> Comments welcome.

I've been terribly busy and haven't had a chance to look at this. The
earlier version seemed to have a bunch of mutual-exclusion issues; are
they resolved now? There were also some problems involving unsafe
iteration over the dpm_list -- remember that devices can be
unregistered at any time, not just while they are suspending or
resuming.

When a device finishes, instead of having the async thread look for
another device to work on, I think it would be better to have the
thread check the dependents of the current device. Those which are
now ready can be added to a "device-ready" list, which is used to
direct the actions of new async threads.

Alan Stern