On Sun, 6 Jun 2010 04:14:09 -0700 (PDT)
david@lang.hm wrote:
You say, that coming back from suspend takes the system to full power
(and everything runs) before it begins the descend into
runtime-low-power?
But are you referring to the fact that coming back
from suspend starts in the zero-idle-state (i.e. "consumes extra
power") or that all processes run when it is not suspended?
Because the latter would of course (theretically) profit from the
framework-controlled-cgroup-freeze/thaw (with and without
opportunistic suspend) while the former should be a problem that
both opportunistic suspend as well as suspend-from-idle have. Or not?
So, here is the question I'm asking myself: If System A were to be
complemented by suspend_blockers, wouldn't it still be better?
With System A you could try to do a really sophisticated
power-management scheme and so on... but as soon as you allow 3rd-Party
Apps, how do you manage their cross-dependencies? I.e. you can not
automatically detect when App1 needs App2 to function.
You need to allow all 3rd-Party apps to run as a group.
So you can perhaps partition your software stack into "untrusted
applications" and different groups of software with audited
dependencies.
If one group interacts with another group (as will be the case at least
with the "untrusted applications" group) you have to have them both
running at the same time.
This really gets pretty complex. Do you really think something like
this is better than a simple suspend? (I.e. suspend blockers or
having just one group)
Suppose you implement suspend blockers with a cgroup freeze... how do
you implement the freeze/thaw control?
Cheers,
Flo
p.s.: do you see an possibility for any kind of "priority inheritance"
in the cgroup scheme? I don't.
--