From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934086Ab0EZRXb (ORCPT ); Wed, 26 May 2010 13:23:31 -0400 Received: from bombadil.infradead.org ([18.85.46.34]:59648 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933939Ab0EZRX2 (ORCPT ); Wed, 26 May 2010 13:23:28 -0400 Subject: Re: [PATCH 1/8] PM: Opportunistic suspend support. From: Peter Zijlstra To: James Bottomley Cc: Pekka Enberg , Arve =?ISO-8859-1?Q?Hj=F8nnev=E5g?= , Florian Mickler , "Rafael J. Wysocki" , Alan Stern , Dmitry Torokhov , Linux-pm mailing list , Kernel development list , Len Brown , Pavel Machek , Randy Dunlap , Andrew Morton , Andi Kleen , Cornelia Huck , Tejun Heo , Jesse Barnes , Nigel Cunningham , Ming Lei , Wu Fengguang , Maxim Levitsky , linux-doc@vger.kernel.org, Matthew Garrett , Greg KH , tytso@mit.edu In-Reply-To: <1274894042.4467.727.camel@mulgrave.site> References: <201005252344.37639.rjw@sisk.pl> <1274863342.5882.4850.camel@twins> <20100526112303.3fef15a4@schatten.dmk.lab> <1274866402.5882.5051.camel@twins> <1274868384.5882.5169.camel@twins> <1274869262.5882.5222.camel@twins> <1274890736.4467.574.camel@mulgrave.site> <1274891308.1674.1766.camel@laptop> <1274892847.4467.674.camel@mulgrave.site> <1274893228.1674.1772.camel@laptop> <1274894042.4467.727.camel@mulgrave.site> Content-Type: text/plain; charset="UTF-8" Date: Wed, 26 May 2010 19:23:22 +0200 Message-ID: <1274894602.1674.1780.camel@laptop> Mime-Version: 1.0 X-Mailer: Evolution 2.28.3 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 2010-05-26 at 12:14 -0500, James Bottomley wrote: > On Wed, 2010-05-26 at 19:00 +0200, Peter Zijlstra wrote: > > On Wed, 2010-05-26 at 11:54 -0500, James Bottomley wrote: > > > Given that I'm in the latter category, I think suspend blockers is a > > > reasonable solution to an existing problem. I like Alan's idea of > > > restricting the API into a single user space program so we contain the > > > API contamination ... but realistically that's mostly the current > > > suspend blockers anyway. > > > > There's a _large_ difference between resource limits and these wonky > > suspend blockers. > > Well, you have policy and then you have implementation ... suspend > blockers just looks like an implementation to me. It seems to be > reasonably well suited in that regard ... after all, we kill processes > that exhaust memory for instance or cut off write privileges to those > that go over quota. Preventing power hungry processes from consuming > power by not allowing them to run until there's a wakeup event is fairly > gentle by those standards. The difference is that the limit should be per task. In this model a process that only runs a little still gets suspended. > > The main and most important one being that suspend is a global property > > and can/will hurt sensible tasks. It puts the whole task model upside > > down. > > OK, so I believe you have an android phone ... it already implements > this model ... specifically what are the problems on that platform this > causes? I do not have one, nor have I ever written an application for it (nor will I likely ever do that, since I detest Java), but I would expect an application to run when its runnable.