On Wed, 4 Aug 2010 23:15:13 +0200
Pavel Machek <pavel@xxxxxx> wrote:
Hi!
If this doesn't work for the Android folks for whatever reason, another
approach would be to do the freeze in user code, which could track
whether any user-level resources (pthread mutexes, SysV semas, whatever)
where held, and do the freeze on a thread-by-thread basis within each
"victim" application as the threads reach safe points.
The main problem I see with the cgroups solution is that it doesn't seem
to do anything to handle avoiding loss of wakeup events.
In different message, Arve said they are actually using low-power idle
to emulate suspend on Android.
Hello, Pavel,
Could you please point me at this message?
AFAICT, this tells us that idle and suspend is the same hardware state
on current Android hardware:
Pavel
Message-ID: <AANLkTinjH0C0bSK=Y2wKASnbJFsR2BN303xBXkaHbmRC@xxxxxxxxxxxxxx>
Arve said:
If you just program the alarm you will wake up see that the monotonic
clock has not advanced and set the alarm another n seconds into the
future. Or are proposing that suspend should be changed to keep the
monotonic clock running? If you are, why? We can enter the same
hardware states from idle, and modifying suspend to wake up more often
would increase the average power consumption in suspend, not improve
it for idle. In other words, if suspend wakes up as often as idle, why
use suspend?
They always told us from the beginning, that on the msm platform they
reach the same powerlevel from suspend and idle. They still get gains
from using opportunistic suspend.