Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753082Ab0FGAB7 (ORCPT ); Sun, 6 Jun 2010 20:01:59 -0400 Received: from netrider.rowland.org ([192.131.102.5]:43174 "HELO netrider.rowland.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with SMTP id S1752296Ab0FGAB6 (ORCPT ); Sun, 6 Jun 2010 20:01:58 -0400 Date: Sun, 6 Jun 2010 20:01:56 -0400 (EDT) From: Alan Stern X-X-Sender: stern@netrider.rowland.org To: Matthew Garrett cc: Vitaly Wool , Neil Brown , , Peter Zijlstra , Brian Swetland , Felipe Balbi , LKML , Florian Mickler , James Bottomley , Thomas Gleixner , "H. Peter Anvin" , Linux PM , Linux OMAP Mailing List , Linus Torvalds , Ingo Molnar , Alan Cox , Arjan van de Ven Subject: Re: [linux-pm] suspend blockers & Android integration In-Reply-To: <20100606152946.GA11351@srcf.ucam.org> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1531 Lines: 31 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-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/