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-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html