Re: [linux-pm] suspend blockers & Android integration

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, 6 Jun 2010, Matthew Garrett wrote:

> The difference between idle-based suspend and opportunistic suspend is 
> that the former will continue to wake up for timers and will never be 
> entered if something is using CPU, whereas the latter will be entered 
> whenever no suspend blocks are held. The problem with opportunistic 
> suspend is that you might make the decision to suspend simultaneusly 
> with a wakeup event being received. Suspend blocks facilitate 
> synchronisation between the kernel and userspace to ensure that all such 
> events have been consumed and handld appropriately.

Remember that suspend takes place in several phases, the first of which 
is to freeze tasks.  The phases can be controlled individually by the 
process carrying out a suspend, and there's nothing to prevent you from 
stopping after the freezer phase.  Devices won't get powered down, but 
Android uses aggressive runtime power management for its devices 
anyway.

If you do this then the synchronization can be carried out entirely
from userspace, with no need for kernel modifications such as suspend
blockers. And since Android can reach essentially the same low-power
state from idle as from suspend, it appears that they really don't need
any kernel changes at all.

Alan Stern

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux