On Thu, 27 May 2010 22:09:37 -0400
Ben Gamari <bgamari.foss@gmail.com> wrote:
I don't disagree on the quality. But I don't think it is because of the
patches, but because of how the kernel is architectured in that area
(suspend not being an idle state).
Look, probably suspend needs to be integrated into the idle states and
used from there. I could imagine a cost-specification for idle states:
c3
cost-to-transition-to-this-state: X
powersavings-per-time: Y
expected time we stay in this state: relative short, there is a
timer sheduled
suspend-blockers: ignored
suspend
cost-to-transition-to-this-state: depends, how much drivers to
suspend, how much processes to freeze, ...
powersavings-per-time: Y
expected time we stay in this state: long, independent of
sheduled timers
suspend-blockers: need not be activated
Now, a governor could compute if it is ok, to enter suspend or only
wait for idle-c3. And maybe it would never transition from idle-c3 to
suspend but only from c1. because the cost to enter suspend would mean
it just has to go to c1 anyway.
what do ya think?
I think this has to be independently to the scheduler, because as soon
as the user interacts with the phone, everything needs to be scheduled.
even the stuff that doesn't directly interact with the user.
as soon as _nothing_ interacts with the user, the phone does schedule
_nothing_ anymore.
Cheers,
Flo
--