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

From: Florian Mickler
Date: Wed Jun 02 2010 - 15:48:08 EST


On Wed, 02 Jun 2010 10:05:11 -0500
James Bottomley <James.Bottomley@xxxxxxx> wrote:

> On Tue, 2010-06-01 at 21:41 -0700, Arve Hjønnevåg wrote:
> > No, they have to be two separate constraints, otherwise a constraint
> > to block suspend would override a constraint to block a low power idle
> > mode or the other way around.
>
> Depends. If you block the system from going into low power idle, does
> that mean you still want it to be fully suspended?
>
> If yes, then we do have independent constraints. If not, they have a
> hierarchy:
>
> * Fully Interactive (no low power idle or suspend)
> * Partially Interactive (may go into low power idle but not
> suspend)
> * None (may go into low power idle or suspend)
>
> Which is expressable as a ternary constraint.
>
> James
>

But unblocking suspend at the moment is independent to getting idle.
If you have the requirement to stay in the highest-idle level (i.e.
best latency you can get) that does not (currently) mean, that you can
not suspend.

To preserve that explicit fall-through while still having working
run-time-powermanagement I think the qos-constraints need to be
separated.

<disclaimer: just from what I read>
Provided you can reach the same power state from idle, current suspend
could probably also be implemented by just the freezing part and a hint
to the idle-loop to provide accelerated fall-through to lowest power.
</disclaimer>

At that point, you could probably merge the constraints.

But the freezing part is also the hard part, isn't it? (I have no
idea. Thomas seems to think about cgroups for that and doing smth about the timers.)

Cheers,
Flo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/