Re: [PATCH 0/8] Suspend block api (version 8)

Alan Stern
2010-05-27T19:32:50Z

On Thu, 27 May 2010, Alan Cox wrote:

> > Rather than continue going around in circles, let's agree that what the
> > Android people want is a new version of forced suspend -- not a
>
> I don't think this is true. I think that is the root of the problem.

Of course it's true. Just ask Arve -- he wants opportunistic suspend
and it _is_ a variant of forced suspend. Ergo he wants a new type of
forced suspend.

Maybe that's not what he _ought_ to want. Nevertheless, there are
valid reasons for wanting it.

> I don't disagree with the user experience they are trying to create or
> the fact something is needed to make it possible (if it turns out we
> can't already do it).
>
> Forced suspend is sticking stuff in running state into suspend
>
> Power management models (such as Thomas ARM box) which we know work are
> 'when nothing is running' into suspend.
>
> So for me the real question on that side of this specific case is 'how
> do you make sure those tasks are idle when you need them to be'
>
> QoS ?
> Spanking them from user space ?
> Drivers enforcing policy elements by blocking tasks ?

Currently we use the freezer. But it is a blunt tool -- it freezes
every user process. Also, it doesn't actually make processes
unrunnable; it just arranges things so that when they do run, they
immediately put themselves back to sleep.

And the forced-suspend design relies on the fact that processes remain
frozen throughout. If we leave some processes unfrozen and one of them
somehow becomes runnable, that means we have to abort the forced
suspend before the process is allowed to run.

Alan Stern