2010/6/6 Matthew Garrett <mjg59@xxxxxxxxxxxxx>: > 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. Right, and then you start taking suspend blockers in kernel here and there which eventually interferes with runtime PM. So I don't buy the "orthogonality" point. Generally speaking, it's not true. ~Vitaly -- 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