From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752786Ab0EKQg4 (ORCPT ); Tue, 11 May 2010 12:36:56 -0400 Received: from mho-01-ewr.mailhop.org ([204.13.248.71]:59383 "EHLO mho-01-ewr.mailhop.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751252Ab0EKQgy (ORCPT ); Tue, 11 May 2010 12:36:54 -0400 X-Mail-Handler: MailHop Outbound by DynDNS X-Originating-IP: 69.181.193.102 X-Report-Abuse-To: abuse@dyndns.com (see http://www.dyndns.com/services/mailhop/outbound_abuse.html for abuse reporting information) X-MHO-User: U2FsdGVkX1/TlN/6Dq9ZOWeu3WV6UPp+ Date: Tue, 11 May 2010 09:36:33 -0700 From: Tony Lindgren To: Matthew Garrett Cc: "Rafael J. Wysocki" , Kevin Hilman , Arve =?utf-8?B?SGrDuG5uZXbDpWc=?= , linux-pm@lists.linux-foundation.org, linux-kernel@vger.kernel.org, Alan Stern , Tejun Heo , Oleg Nesterov , Paul Walmsley , magnus.damm@gmail.com, mark gross , Arjan van de Ven , Geoff Smith , Brian Swetland Subject: Re: [PATCH 0/8] Suspend block api (version 6) Message-ID: <20100511163632.GE13600@atomide.com> References: <1272667021-21312-1-git-send-email-arve@android.com> <87wrvl5479.fsf@deeprootsystems.com> <87632vhbs8.fsf@deeprootsystems.com> <201005102225.52431.rjw@sisk.pl> <20100511161227.GD13600@atomide.com> <20100511161448.GA16148@srcf.ucam.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20100511161448.GA16148@srcf.ucam.org> User-Agent: Mutt/1.5.20 (2009-06-14) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org * Matthew Garrett [100511 09:10]: > On Tue, May 11, 2010 at 09:12:28AM -0700, Tony Lindgren wrote: > > > To me it sounds like this should only be allowed to happen when you do: > > > > # echo 1 > /sys/power/suspend_while_idle > > > > As it kills the timers and leads to non-standard behaviour of the apps > > as they won't run :) > > > > And then the remaining question is how to make sure the use cases > > below can be handled in a clean way. > > That's handled by the /sys/power/policy opportunistic/forced switch. OK, so can the suspend blocker then become just: # Block suspend while idle, system stays running # echo default > /sys/power/policy and the when it's OK to suspend: # Allow suspend while idle, system suspends when it hits kernel idle loop # echo opportunistic > /sys/power/policy or do you still need something more to ensure the data gets into your app and be handled? The part I really don't like is the idea of patching all over the drivers and userspace for the wakelocks/suspendblocks. Regards, Tony