[linux-pm] [RFD] Automatic suspend

Alan Stern stern at rowland.harvard.edu
Wed Feb 18 15:31:15 PST 2009


On Thu, 19 Feb 2009, Rafael J. Wysocki wrote:

> > If some devices are autosuspended after a local inactivity timeout, I
> > don't want to wait for those devices to autosuspend if I know the code
> > that needed to run is done. This could cause delays in the normal
> > case,
> 
> Isn't it a matter of adjusting the inactivity timeouts in a suitable way?

It's not that simple.  A single device driver has a very local view, 
not suitable for deciding whether the entire system should go to sleep.

So for example, a disk driver might think it's appropriate to spin down 
the disk after 10 seconds of inactivity.  But an overall system monitor 
might realize that nothing is going on right now and want to put the 
system to sleep immediately, without waiting the 10 seconds for the 
disk to autosuspend.

> > and it could prevent suspend if a background process (not using
> > wakelocks) is accessing a disk more frequently than its idle timeout.
> 
> Well, actually, shouldn't it prevent suspend from happening?  Arguably, it just
> means that the disk is continuously being accessed with respect to the inactive
> timeout granularity.

That's true, but it shows the problem of making the autosleep decision
based on disk activity.  An auto-sleep should not have to wait for
every device (or some suitable subset) to become idle for some minimum
time; it should be able to kick in at short notice.

Alan Stern



More information about the linux-pm mailing list