On Wed, Aug 04, 2010 at 10:18:40PM -0700, david@lang.hm wrote:
[ . . . ]
Ah, I was assuming -much- shorter "do full suspend" timeouts.
My (possibly incorrect) assumption is based on the complaint that led
to my implementing RCU_FAST_NO_HZ. A (non-Android) embedded person was
quite annoyed (to put it mildly) at the earlier version of RCU because
it prevented the system from entering the power-saving dyntick-idle mode,
not for minutes, or even for seconds, but for a handful of -milliseconds-.
This was my first hint that "energy efficiency" means something completely
different in embedded systems than it does in the servers that I am
used to.
But I must defer to the Android guys on this -- who knows, perhaps
multi-minute delays to enter full-suspend mode are OK for them.
The number of such apps certainly indicates the amount of effort required
to modify them, if required. Is that what you are getting at?
Hmmm... Isn't it the "trusted" (AKA PM-driving) apps that interact with
the power daemon via suspend blockers, rather than the other way around?
Powertop is indeed an extremely valuable tool, but I am not certain
that it really provides the information that the Android guys need.
If I understand Arve's and Brian's posts, here is the scenario that they
are trying to detect:
o Some PM-driving application has a bug in which it fails to
release a wakelock, thus blocking suspend indefinitely.
o This PM-driving application, otherwise being a good citizen,
blocks.
o There are numerous power-oblivious apps running, consuming
significant CPU.
What the Android developers need to know is that the trusted application
is wrongly holding a wakelock. Won't powertop instead tell them about
all the power-oblivious apps?
Thanx, Paul
--