[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Pine.LNX.4.44L0.1005131729510.1731-100000@iolanthe.rowland.org>
Date: Thu, 13 May 2010 17:37:03 -0400 (EDT)
From: Alan Stern <stern@...land.harvard.edu>
To: Tony Lindgren <tony@...mide.com>
cc: Paul Walmsley <paul@...an.com>,
Arve Hjønnevåg <arve@...roid.com>,
Linux-pm mailing list <linux-pm@...ts.linux-foundation.org>,
Kernel development list <linux-kernel@...r.kernel.org>,
Tejun Heo <tj@...nel.org>, Oleg Nesterov <oleg@...hat.com>,
Kevin Hilman <khilman@...prootsystems.com>,
<magnus.damm@...il.com>, Theodore Ts'o <tytso@....edu>,
mark gross <mgross@...ux.intel.com>,
Arjan van de Ven <arjan@...radead.org>,
Geoff Smith <geoffx.smith@...el.com>,
Brian Swetland <swetland@...gle.com>,
"Rafael J. Wysocki" <rjw@...k.pl>,
Matthew Garrett <mjg@...hat.com>,
Benoît Cousson <b-cousson@...com>,
<linux-omap@...r.kernel.org>, Vitaly Wool <vitalywool@...il.com>,
Linus Walleij <linus.walleij@...csson.com>,
Mark Brown <broonie@...nsource.wolfsonmicro.com>,
Liam Girdwood <lrg@...mlogic.co.uk>
Subject: Re: [linux-pm] [PATCH 0/8] Suspend block api (version 6)
On Thu, 13 May 2010, Tony Lindgren wrote:
> * Alan Stern <stern@...land.harvard.edu> [100513 07:11]:
> > On Wed, 12 May 2010, Paul Walmsley wrote:
> >
> > > Hello,
> > >
> > > Some general comments on the suspend blockers/wakelock/opportunistic
> > > suspend v6 patch series, posted here:
> > >
> > > https://lists.linux-foundation.org/pipermail/linux-pm/2010-April/025146.html
> > >
> > > The comments below are somewhat telegraphic in the interests of
> > > readability - more specific comments to follow in later E-mails. I am
> > > indebted to those of us who discussed these issues at LPC last year and
> > > ELC this year for several stimulating discussions.
> > >
> > > There are several general problems with the design of opportunistic
> > > suspend and suspend-blocks.
> > >
> > > 1. The opportunistic suspend code bypasses existing Linux kernel code,
> > > such as timers and the scheduler, that indicates when code
> > > needs to run, and when the system is idle.
> >
> > Whoa! That's not my understanding at all.
> >
> > As I see it, opportunistic suspend doesn't bypass any code that isn't
> > already bypassed by the existing suspend code. Users can do
> >
> > echo mem >/sys/power/state
> >
> > whenever they want, without regard to kernel timers and the scheduler
> > (other than the fact that the user's thread must be running in order to
> > carry out the write, of course).
>
> The difference between echo mem > /sys/power/state and suspend blocks
> is that with suspend blocks the system keeps running.
Irrelevant. Paul wasn't talking about the suspend blockers; he was
talking about opportunistic suspend. So what's the difference between
opportunistic suspend and "echo mem >/sys/power/state"? Especially
when suspend blockers aren't being used?
> And that's why
> it should be handled by runtime power management instead.
Runtime PM is not capable of freezing userspace and shutting down CPUs.
More or less by definition -- if it could then it wouldn't be "runtime"
any more, since the processor wouldn't be running.
> The suspend blocks seems like a hack to spam filter good and bad
> apps from timer usage point of view. Applications are categorized
> as good or bad depending if they grab a susped blocker or not.
You're referring just to the userspace part of the suspend blocker
API. What about the kernel part?
> I believe categorizing the apps should be instead done with some
> timer flags or cgroups instead.
That would be compatible with using suspend blockers.
Alan Stern
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists