Linux on ARM based TI OMAP SoCs
 help / color / mirror / Atom feed
From: Thomas Gleixner <tglx@linutronix.de>
To: "Rafael J. Wysocki" <rjw@sisk.pl>
Cc: Peter Zijlstra <peterz@infradead.org>,
	Ingo Molnar <mingo@elte.hu>,
	tytso@mit.edu, Brian Swetland <swetland@google.com>,
	Neil Brown <neilb@suse.de>, Arve Hj?nnev?g <arve@android.com>,
	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>
Subject: Re: suspend blockers & Android integration
Date: Sat, 5 Jun 2010 02:05:30 +0200 (CEST)	[thread overview]
Message-ID: <alpine.LFD.2.00.1006050148080.2933@localhost.localdomain> (raw)
In-Reply-To: <201006050138.30859.rjw@sisk.pl>

On Sat, 5 Jun 2010, Rafael J. Wysocki wrote:
> I kind of agree here, so I'd like to focus a bit on that.
> 
> Here's my idea in the very general terms:
> 
> (1) Use the cgroup freezer to "suspend" the "untrusted" apps (ie. the ones
>     that don't use suspend blockers aka wakelocks in the Android world) at the
>     point Android would normally start opportunistic suspend.

There is an additional benefit to this approach:

     In the current android world a background task (e.g. download
     initiated before the screensaver kicked in) prevents the suspend,
     but that also means that the crapplications can still suck power
     completely unconfined.

     With the cgroup freezer you can "suspend" them right away and
     just keep the trusted background task(s) alive which allows us to
     go into deeper idle states instead of letting the crapplications
     run unconfined until the download finished and the suspend
     blocker goes away.
 
> (2) Allow the cpuidle framework to put CPUs into low-power states after the
>     "trusted" apps (ie. the ones that use suspend blockers in the Android
>     world) have gone idle.
> 
> (3) Teach the cpuidle framework to schedule runtime suspend of I/O devices
>     before idling the last CPU (*).
> 
> (4) Design a mechanism to resume the I/O devices suspended in (3) so that
>     they are not powered up unnecessarily (that's going to be difficult as far
>     as I can see).
> 
> This way, in principle, we should be able to save (at least almost) as much
> energy as the opportunistic suspend currently used by Android, provided that
> things will be capable of staying idle for extended periods of time.
> 
> (*) That may require per-device PM QoS requirements to be used, in which case
>     devices may even be suspended earlier if the PM QoS requirements of all
>     of their users are met.
> 
> I wonder what people think.  Is this realistic and if so, would it be difficult
> to implement?

I think it's realistic and not overly complicated to implement.

Thanks,

	tglx

  reply	other threads:[~2010-06-05  0:05 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 [this message]
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
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=alpine.LFD.2.00.1006050148080.2933@localhost.localdomain \
    --to=tglx@linutronix.de \
    --cc=James.Bottomley@suse.de \
    --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=rjw@sisk.pl \
    --cc=stern@rowland.harvard.edu \
    --cc=swetland@google.com \
    --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