From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1759540Ab0E0S4w (ORCPT ); Thu, 27 May 2010 14:56:52 -0400 Received: from www.tglx.de ([62.245.132.106]:40443 "EHLO www.tglx.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756891Ab0E0S4v (ORCPT ); Thu, 27 May 2010 14:56:51 -0400 Date: Thu, 27 May 2010 20:55:51 +0200 (CEST) From: Thomas Gleixner To: Matthew Garrett cc: Peter Zijlstra , Alan Stern , Paul@smtp1.linux-foundation.org, LKML , Florian Mickler , felipe.balbi@nokia.com, Linux OMAP Mailing List , Linux PM , Alan Cox Subject: Re: [linux-pm] [PATCH 0/8] Suspend block api (version 8) In-Reply-To: <20100527182913.GO3543@srcf.ucam.org> Message-ID: References: <1274982779.27810.5708.camel@twins> <20100527175719.GD3543@srcf.ucam.org> <1274983333.27810.5744.camel@twins> <20100527181433.GG3543@srcf.ucam.org> <1274984291.27810.5802.camel@twins> <20100527182913.GO3543@srcf.ucam.org> User-Agent: Alpine 2.00 (LFD 1167 2008-08-23) 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 On Thu, 27 May 2010, Matthew Garrett wrote: > On Thu, May 27, 2010 at 08:18:11PM +0200, Peter Zijlstra wrote: > > On Thu, 2010-05-27 at 19:14 +0100, Matthew Garrett wrote: > > > If I get a WoL > > > packet in the 0.5 of a second between userspace deciding to suspend and > > > actually doing so, the system shouldn't suspend. > > > > Please re-read Thomas' description of how a driver should do the state > > transition. > > > > So either we get the packet before suspend, and we cancel the suspend, > > or we get it after and we wake up. What's the problem, and how does that > > need suspend blockers? > > In order to cancel the suspend we need to keep track of whether > userspace has consumed the event and reacted appropriately. Since we > can't do this with the process scheduler, we end up with something that > looks like suspend blockers. And the scheduler based approach does exactly this and provides exactly the same non guarantees to applications which are set to QoS(NONE) as it does to applications which do not (or are not allowed to) use the user space suspend blockers. Thanks, tglx