Re: Async suspend-resume patch w/ completions (was: Re: Async suspend-resume patch w/ rwsems)

Alan Stern
2009-12-17T20:06:06Z

On Thu, 17 Dec 2009, Rafael J. Wysocki wrote:

> That actually is correct. On the nx6325 suspend is totally dominated by disk
> spindown, almost everything else is negligible compared to it (well, except for
> the audio), so we can't go down below 1 s during suspend on this box.
>
> On the Wind, disk spindown time is comparable with serio suspend time,
> so at least in principle we should be able to get .5 s suspend on this box -
> if the disk spindown in async.
>
> In turn, the resume on the Wind is dominated by disk spinup, so we can't
> go below 1.5 s on this box during resume (notice that the "async+extra"
> approach brings us close to this limit, although we could save .5 s more in
> principle by making more devices async).
>
> Resume on the nx6325 is a different story, though, as it is dominated by USB
> and PCI devices, so marking those as async would probably bring us close to
> the limit.

The implications seem pretty clear. If the following sorts of devices
were async:

USB (devices and interfaces), PCI, serio, SCSI (hosts, targets,
devices)

then we would reap close to the maximum benefit -- providing:

async threads are started in a first pass without waiting
for synchronous devices, and

It's not clear that making all these types of devices async will really
work, but it's worth testing.

Alan Stern