Re: [RFD] Automatic suspend

Rafael J. Wysocki
2009-02-18T23:04:17Z

On Wednesday 18 February 2009, Arve Hjønnevåg wrote:
> On Wed, Feb 18, 2009 at 1:17 PM, Rafael J. Wysocki <rjw@sisk.pl> wrote:
> > On Wednesday 18 February 2009, Arve Hjønnevåg wrote:
> >> On Tue, Feb 17, 2009 at 3:21 PM, Rafael J. Wysocki <rjw@sisk.pl> wrote:
> >> > On Tuesday 17 February 2009, Alan Stern wrote:
>
> >> >> Kernel wakelocks are a separate matter. They are more like a form of
> >> >> optimization, preventing the kernel from starting an auto-suspend when
> >> >> some driver knows beforehand that it will return -EBUSY.
> >> >
> >> > I think kernel-side autosuspend (or rather autosleep) should only happen
> >> > after certain subset of devices have been suspended using a per-device
> >> > run-time autosuspend mechanism.
> >>
> >> When the last wakelock is released the task that we woke up to perform
> >> has finished. Why wait to re-enter suspend.
> >
> > I don't really understand this comment. Could you please explain a bit?
>
> 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?

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

Rafael