From: "Rafael J. Wysocki" <rjw@sisk.pl>
To: "Arve Hjønnevåg" <arve@android.com>
Cc: Thomas Gleixner <tglx@linutronix.de>,
Peter Zijlstra <peterz@infradead.org>,
Ingo Molnar <mingo@elte.hu>,
tytso@mit.edu, Brian Swetland <swetland@google.com>,
Neil Brown <neilb@suse.de>,
Alan Stern <stern@rowland.harvard.edu>,
Felipe Balbi <felipe.balbi@nokia.com>,
LKML <linux-kernel@vger.kernel.org>,
Florian Mickler <florian@mickler.org>,
Linux OMAP Mailing List <linux-omap@vger.kernel.org>,
Linux PM <linux-pm@lists.linux-foundation.org>,
Alan Cox <alan@lxorguk.ukuu.org.uk>,
James Bottomley <James.Bottomley@suse.de>,
Linus Torvalds <torvalds@linux-foundation.org>,
Kevin Hilman <khilman@deeprootsystems.com>,
"H. Peter Anvin" <hpa@zytor.com>,
Arjan van de Ven <arjan@infradead.org>,
Andrew Morton <akpm@linux-foundation.org>
Subject: Re: suspend blockers & Android integration
Date: Sun, 6 Jun 2010 15:55:38 +0200 [thread overview]
Message-ID: <201006061555.38526.rjw@sisk.pl> (raw)
In-Reply-To: <AANLkTikrPTvkXZM2yybiDfkHraRkw4oCH9nC8R4d3KS5@mail.gmail.com>
On Sunday 06 June 2010, Arve Hjønnevåg wrote:
> 2010/6/5 Rafael J. Wysocki <rjw@sisk.pl>:
> > On Saturday 05 June 2010, Arve Hjønnevåg wrote:
> >> 2010/6/5 Thomas Gleixner <tglx@linutronix.de>:
> >> > B1;2005;0cOn Fri, 4 Jun 2010, Arve Hjønnevåg wrote:
...
> >
> > Arve, we're still learning you have some more requirements we had no idea
>
> What new requirement are you talking about. Did you assume all our
> user-space ipc calls went though a single process?
No, but I didn't assume that your wakelock-holding processes depend on the
other processes in a way that might prevent them from acquiring or dropping
a wakelock.
...
> >> >> Trusted code that calls into untrusted code has to deal with the
> >> >> untrusted code not responding, but we only want to pop up a message
> >> >> that the application is not responding if it is misbehaving, not just
> >> >> because it was frozen though no fault of its own.
> >
> > When Android starts opportunistic suspend, all applications are frozen,
> > "trusted" as well as "untrusted", right? So, after they are all frozen, none
> > of them can do anything to prevent suspend from happening, right?
>
> Not if you mean when we write to /sys/power/state. Processes are not
> frozen until the last suspend blocker is released.
That doesn't matter. In the opportunistic mode you don't need to write into
/sys/power/state to start suspend, this is done by the kernel automatically as
soon as the last wakelock has been released (at least this is my assumption
about how this works). Now, at this point the processes that don't use
wakelocks can't really prevent themselves from being frozen and only the
wakelocks users can do that. So, if a wakelock user depends on a process
that doesn't use wakelocks in such a way that (because of that dependence) it
can't acquire its wakelock while processes are being frozen, things don't work
as they are supposed to.
> > Now, in my proposed approach the "untrusted" apps are frozen exactly at the
> > point Android would start opportunistic suspend and they wouldn't be able
> > to do anything about that anyway. So if one of your "trusted" apps depends
> > on the "untrusted" ones in a way that you describe, you alread have a bug
> > (the "trusted" app cannot prevent automatic suspend from happening even if it
> > wants, because it depends on an "untrusted" app that has just been frozen).
> >
>
> I don't think what you said here is correct. If a wakeup event happens
> all processed are unfrozen since the driver blocks suspend.
This only means that the theoretical failure you gave as an example doesn't
happen in practice. No problem, then. :-)
> The app that reads this event blocks suspend before reading it. If it was
> busy talking to a less trusted app when the event happened it still works
> since all apps are running at this point.
And how is this different from an approach with cgroup freezing? Apps that
use wakelock within the current framework would use "freeze locks" to prevent
the "untrusted" part of user space from being frozen or to thaw it. Where's
the problem, then?
Rafael
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2010-06-06 13:54 UTC|newest]
Thread overview: 195+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-06-03 19:30 suspend blockers & Android integration Ingo Molnar
2010-06-03 19:50 ` Brian Swetland
2010-06-04 7:57 ` Ingo Molnar
2010-06-04 8:29 ` Brian Swetland
2010-06-04 8:55 ` Ingo Molnar
2010-06-04 9:03 ` Pekka Enberg
2010-06-04 9:08 ` Brian Swetland
2010-06-04 9:59 ` Ingo Molnar
2010-06-04 10:09 ` Brian Swetland
2010-06-04 14:24 ` James Bottomley
2010-06-04 15:07 ` Florian Mickler
2010-06-06 8:04 ` david
2010-06-10 13:58 ` Pavel Machek
2010-06-11 4:21 ` [linux-pm] " David Brownell
2010-06-11 14:28 ` James Bottomley
2010-06-11 14:46 ` Alan Stern
2010-06-11 15:01 ` Mark Brown
2010-06-11 15:02 ` James Bottomley
2010-06-11 20:48 ` Alan Stern
2010-06-11 21:04 ` James Bottomley
2010-06-12 17:10 ` Mark Brown
2010-06-12 2:43 ` David Brownell
2010-06-11 14:42 ` Alan Stern
[not found] ` <20100603231153.GA11302@elte.hu>
2010-06-03 23:23 ` Ingo Molnar
2010-06-03 23:37 ` Linus Torvalds
2010-06-03 23:46 ` Ingo Molnar
2010-06-04 2:16 ` Linus Torvalds
2010-06-04 2:26 ` Linus Torvalds
2010-06-04 3:45 ` Arjan van de Ven
2010-06-04 4:46 ` Linus Torvalds
2010-06-04 10:42 ` Andi Kleen
2010-06-04 8:15 ` Ingo Molnar
2010-06-06 8:16 ` david
2010-06-06 8:23 ` david
2010-06-04 3:45 ` Arve Hjønnevåg
2010-06-04 6:22 ` Ingo Molnar
2010-06-04 8:11 ` Ingo Molnar
2010-06-05 20:37 ` Florian Mickler
2010-06-04 0:39 ` Ingo Molnar
2010-06-04 14:50 ` Alan Stern
2010-06-04 4:38 ` Neil Brown
2010-06-04 4:54 ` Arve Hjønnevåg
2010-06-04 7:13 ` Ingo Molnar
2010-06-04 7:37 ` Arve Hjønnevåg
2010-06-04 8:34 ` Ingo Molnar
2010-06-04 8:56 ` Arve Hjønnevåg
2010-06-04 12:06 ` Peter Zijlstra
2010-06-05 0:10 ` Arve Hjønnevåg
2010-06-05 9:54 ` Peter Zijlstra
2010-06-05 16:28 ` Arjan van de Ven
2010-06-05 21:26 ` Arve Hjønnevåg
2010-06-05 22:23 ` Arjan van de Ven
2010-06-05 22:26 ` Brian Swetland
2010-06-05 22:48 ` Arjan van de Ven
2010-06-05 23:45 ` Thomas Gleixner
2010-06-06 0:34 ` Arve Hjønnevåg
2010-06-05 22:52 ` Rafael J. Wysocki
2010-06-05 22:39 ` Arve Hjønnevåg
2010-06-05 23:34 ` Arjan van de Ven
2010-06-06 0:02 ` Arve Hjønnevåg
2010-06-06 11:18 ` Felipe Contreras
2010-06-06 11:26 ` david
2010-06-06 7:52 ` [linux-pm] " Vitaly Wool
2010-06-06 8:20 ` Brian Swetland
2010-06-06 8:32 ` Vitaly Wool
2010-06-06 9:21 ` Brian Swetland
2010-06-06 9:56 ` david
2010-06-06 11:11 ` Felipe Contreras
2010-06-06 10:00 ` Vitaly Wool
2010-06-06 10:12 ` david
2010-06-06 10:19 ` [linux-pm] " Vitaly Wool
2010-06-06 10:49 ` Florian Mickler
2010-06-06 10:57 ` Vitaly Wool
2010-06-06 11:14 ` [linux-pm] " david
2010-06-07 12:16 ` Florian Mickler
2010-06-09 1:14 ` david
2010-06-09 3:46 ` Linus Torvalds
2010-06-09 7:43 ` [linux-pm] " Felipe Contreras
2010-06-09 9:40 ` Rafael J. Wysocki
2010-06-09 22:04 ` Neil Brown
2010-06-10 8:59 ` Rafael J. Wysocki
2010-06-10 12:00 ` Neil Brown
2010-06-10 16:06 ` Rafael J. Wysocki
2010-06-10 13:57 ` Mark Brown
2010-06-10 15:46 ` Rafael J. Wysocki
2010-06-10 19:01 ` Mark Brown
2010-06-10 14:47 ` Alan Stern
2010-06-10 15:44 ` Rafael J. Wysocki
2010-06-06 10:46 ` Florian Mickler
2010-06-06 11:05 ` Alan Cox
2010-06-06 13:34 ` Matthew Garrett
2010-06-06 14:31 ` James Bottomley
2010-06-06 15:46 ` [linux-pm] " Thomas Gleixner
2010-06-06 17:08 ` James Bottomley
2010-06-06 18:04 ` Thomas Gleixner
2010-06-06 18:44 ` Brian Swetland
2010-06-06 19:26 ` Thomas Gleixner
2010-06-06 19:05 ` [linux-pm] " Christoph Hellwig
2010-06-06 19:15 ` Brian Swetland
2010-06-06 19:24 ` [linux-pm] " Christoph Hellwig
2010-06-06 19:58 ` Brian Swetland
2010-06-06 22:26 ` Thomas Gleixner
2010-06-07 8:00 ` Christoph Hellwig
2010-06-07 8:03 ` Christoph Hellwig
2010-06-07 8:16 ` Brian Swetland
2010-06-07 13:20 ` Peter Zijlstra
2010-06-07 18:40 ` David Brownell
2010-06-07 23:17 ` Linus Walleij
2010-06-07 23:37 ` Brian Swetland
2010-06-08 2:15 ` Valdis.Kletnieks
2010-06-09 12:33 ` [linux-pm] " Mark Brown
2010-07-09 19:11 ` HTC Dream drivers was " Pavel Machek
2010-06-06 13:31 ` Matthew Garrett
2010-06-06 15:26 ` Vitaly Wool
2010-06-06 15:29 ` Matthew Garrett
2010-06-06 15:47 ` Vitaly Wool
2010-06-06 16:43 ` Matthew Garrett
2010-06-06 17:21 ` Vitaly Wool
2010-06-06 17:31 ` Matthew Garrett
2010-06-06 19:01 ` Rafael J. Wysocki
2010-06-07 10:25 ` Felipe Contreras
2010-06-07 13:01 ` Florian Mickler
2010-06-07 0:01 ` Alan Stern
2010-06-07 1:07 ` [linux-pm] suspend blockers & Android integrationy Thomas Gleixner
2010-06-07 14:42 ` Alan Stern
2010-06-07 15:49 ` Thomas Gleixner
2010-06-07 15:56 ` [linux-pm] suspend blockers & Android integration Florian Mickler
2010-06-08 0:57 ` Arve Hjønnevåg
2010-06-08 1:13 ` Alan Stern
2010-06-04 9:43 ` Peter Zijlstra
2010-06-04 9:54 ` Peter Zijlstra
2010-06-04 10:03 ` Ingo Molnar
2010-06-04 10:08 ` Peter Zijlstra
2010-06-04 10:11 ` Brian Swetland
2010-06-04 10:11 ` Thomas Gleixner
2010-06-04 10:13 ` Peter Zijlstra
2010-06-04 23:38 ` Rafael J. Wysocki
2010-06-05 0:05 ` Thomas Gleixner
2010-06-05 0:39 ` Arve Hjønnevåg
2010-06-05 1:18 ` Matt Helsley
2010-06-05 5:35 ` Arve Hjønnevåg
2010-06-05 18:25 ` Rafael J. Wysocki
2010-06-05 22:10 ` Arve Hjønnevåg
2010-06-05 23:03 ` Rafael J. Wysocki
2010-06-06 1:03 ` Arve Hjønnevåg
2010-06-06 2:49 ` Alan Stern
2010-06-06 11:09 ` [linux-pm] " Alan Stern
2010-06-08 0:23 ` Arve Hjønnevåg
2010-06-08 1:09 ` Alan Stern
2010-06-08 1:31 ` Arve Hjønnevåg
2010-06-08 2:32 ` Alan Stern
2010-06-08 3:05 ` Arve Hjønnevåg
2010-06-08 10:19 ` Florian Mickler
2010-06-08 14:50 ` Alan Stern
2010-06-09 1:48 ` Arve Hjønnevåg
2010-06-09 15:29 ` Alan Stern
2010-06-09 23:42 ` Arve Hjønnevåg
2010-06-10 4:21 ` david
2010-06-10 4:51 ` Arve Hjønnevåg
2010-06-10 5:10 ` Neil Brown
2010-06-10 14:39 ` Alan Stern
2010-06-10 14:28 ` Alan Stern
2010-06-10 23:02 ` Arve Hjønnevåg
2010-06-11 1:44 ` Alan Stern
2010-06-11 3:16 ` Arve Hjønnevåg
2010-06-11 14:33 ` Alan Stern
2010-06-11 22:18 ` Arve Hjønnevåg
2010-06-12 15:22 ` [linux-pm] " Alan Stern
2010-06-07 23:16 ` Arve Hjønnevåg
2010-06-06 13:29 ` Rafael J. Wysocki
2010-06-05 1:33 ` Thomas Gleixner
2010-06-05 5:23 ` Arve Hjønnevåg
2010-06-05 16:47 ` Thomas Gleixner
2010-06-05 21:47 ` Arve Hjønnevåg
2010-06-05 22:11 ` Thomas Gleixner
2010-06-05 23:21 ` Arve Hjønnevåg
2010-06-05 23:39 ` Rafael J. Wysocki
2010-06-06 0:04 ` Thomas Gleixner
2010-06-06 1:16 ` Arve Hjønnevåg
2010-06-06 10:36 ` Thomas Gleixner
2010-06-06 14:43 ` Matt Helsley
2010-06-08 0:45 ` Arve Hjønnevåg
2010-06-07 23:34 ` Arve Hjønnevåg
2010-06-06 10:56 ` Thomas Gleixner
2010-06-08 0:05 ` Arve Hjønnevåg
2010-06-06 0:19 ` Thomas Gleixner
2010-06-06 1:24 ` Arve Hjønnevåg
2010-06-06 0:32 ` Thomas Gleixner
2010-06-06 1:45 ` Arve Hjønnevåg
2010-06-06 10:01 ` Thomas Gleixner
2010-06-05 22:44 ` Rafael J. Wysocki
2010-06-05 23:56 ` Arve Hjønnevåg
2010-06-06 13:55 ` Rafael J. Wysocki [this message]
2010-06-08 0:39 ` Arve Hjønnevåg
2010-06-08 9:11 ` Rafael J. Wysocki
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201006061555.38526.rjw@sisk.pl \
--to=rjw@sisk.pl \
--cc=James.Bottomley@suse.de \
--cc=akpm@linux-foundation.org \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=arjan@infradead.org \
--cc=arve@android.com \
--cc=felipe.balbi@nokia.com \
--cc=florian@mickler.org \
--cc=hpa@zytor.com \
--cc=khilman@deeprootsystems.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=linux-pm@lists.linux-foundation.org \
--cc=mingo@elte.hu \
--cc=neilb@suse.de \
--cc=peterz@infradead.org \
--cc=stern@rowland.harvard.edu \
--cc=swetland@google.com \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
--cc=tytso@mit.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).