From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthew Garrett Subject: Re: [linux-pm] suspend blockers & Android integration Date: Sun, 6 Jun 2010 17:43:26 +0100 Message-ID: <20100606164326.GA12570@srcf.ucam.org> References: <20100606133130.GA8513@srcf.ucam.org> <20100606152946.GA11351@srcf.ucam.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org To: Vitaly Wool Cc: Brian Swetland , Arve =?iso-8859-1?B?SGr4bm5lduVn?= , Arjan van de Ven , tytso@mit.edu, Florian Mickler , Peter Zijlstra , "H. Peter Anvin" , LKML , Neil Brown , James Bottomley , Alan Cox , Linux PM , Ingo Molnar , Linux OMAP Mailing List , Linus Torvalds , Thomas Gleixner , Felipe Balbi List-Id: linux-omap@vger.kernel.org On Sun, Jun 06, 2010 at 05:47:10PM +0200, Vitaly Wool wrote: > 2010/6/6 Matthew Garrett : > > 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. Suspend blocks prevent system suspend, not any per-device suspend. -- Matthew Garrett | mjg59@srcf.ucam.org