Suspend block
The result of work in that area can now be seen in the form of the suspend block patches recently posted by Arve Hjønnevåg. The name of the feature has been changed, as has the API, but the core point is the same: allow the system to automatically suspend itself when nothing is going on, and allow code to say "something is going on" at both the kernel and user-space levels.
The suspend block patches add a new sysfs file called /sys/power/policy; the default value found therein is "forced." When the policy is "forced," system state transitions will happen in response to explicit writes to /sys/power/state, as usual. If the policy is changed to "opportunistic," though, things are a bit different. The state written to /sys/power/state does not take effect immediately; instead, the kernel goes into that state whenever it concludes that the system is idle. The suspend blocker API can then be used to prevent the system from suspending when the need arises.
The two postings of this patch set have received a number of comments,
causing various things to be fixed. More recently, though, responses have
been of the "acked" variety. So one might conclude that suspend block has
a reasonable chance of getting in during the 2.6.35 merge window. That, in
turn, should open the doors for the merging of a lot of driver code from
the Android project. With luck, the much-publicized disconnect between
Android and the community may be a thing of the past - at the kernel
level, at least.
Index entries for this article | |
---|---|
Kernel | Android |
Kernel | Power management/Opportunistic suspend |
Posted Apr 30, 2010 5:53 UTC (Fri)
by pranith (subscriber, #53092)
[Link] (1 responses)
Posted May 3, 2010 8:32 UTC (Mon)
by swetland (guest, #63414)
[Link]
It's nice to find ways to work together rather than just getting shouted at.
Suspend block
Suspend block