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

From: Matthew Garrett
Date: Sun Jun 06 2010 - 11:30:37 EST


On Sun, Jun 06, 2010 at 05:26:09PM +0200, Vitaly Wool wrote:
> 2010/6/6 Matthew Garrett <mjg59@xxxxxxxxxxxxx>:
> > Holding a suspend blocker is entirely orthogonal to runtime pm. The
> > "whole kernel" will not be "active" - it can continue to hit the same
> > low power state in the idle loop, and any runtime pm implementation in
> > the drivers will continue to be active.
>
> Yeah, that might also be the case, But then again, what's the use of
> suspend blockers in this situation?

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.

--
Matthew Garrett | mjg59@xxxxxxxxxxxxx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/