mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "Rafael J. Wysocki" <rjw@sisk.pl>
To: Alan Stern <stern@rowland.harvard.edu>
Cc: "Arve Hjønnevåg" <arve@android.com>,
	"Woodruff, Richard" <r-woodruff2@ti.com>,
	"Arjan van de Ven" <arjan@infradead.org>,
	"Kyle Moffett" <kyle@moffetthome.net>,
	"Oliver Neukum" <oliver@neukum.org>,
	"Benjamin Herrenschmidt" <benh@kernel.crashing.org>,
	"pm list" <linux-pm@lists.linux-foundation.org>,
	LKML <linux-kernel@vger.kernel.org>,
	"Pavel Machek" <pavel@ucw.cz>,
	"Nigel Cunningham" <nigel@nigel.suspend2.net>,
	"Matthew Garrett" <mjg59@srcf.ucam.org>,
	"mark gross" <mgross@linux.intel.com>,
	"Uli Luckas" <u.luckas@road.de>,
	"Igor Stoppa" <igor.stoppa@nokia.com>,
	"Brian Swetland" <swetland@google.com>,
	"Len Brown" <lenb@kernel.org>
Subject: Re: [RFD] Automatic suspend
Date: Thu, 19 Feb 2009 22:15:16 +0100	[thread overview]
Message-ID: <200902192215.18365.rjw@sisk.pl> (raw)
In-Reply-To: <Pine.LNX.4.44L0.0902190956570.3012-100000@iolanthe.rowland.org>

On Thursday 19 February 2009, Alan Stern wrote:
> On Thu, 19 Feb 2009, Rafael J. Wysocki wrote:
> 
> > On Thursday 19 February 2009, Alan Stern wrote:
> > > On Thu, 19 Feb 2009, Rafael J. Wysocki wrote:
> > > 
> > > > > If some devices are autosuspended after a local inactivity timeout, I
> > > > > don't want to wait for those devices to autosuspend if I know the code
> > > > > that needed to run is done. This could cause delays in the normal
> > > > > case,
> > > > 
> > > > Isn't it a matter of adjusting the inactivity timeouts in a suitable way?
> > > 
> > > It's not that simple.  A single device driver has a very local view, 
> > > not suitable for deciding whether the entire system should go to sleep.
> > > 
> > > So for example, a disk driver might think it's appropriate to spin down 
> > > the disk after 10 seconds of inactivity.  But an overall system monitor 
> > > might realize that nothing is going on right now and want to put the 
> > > system to sleep immediately, without waiting the 10 seconds for the 
> > > disk to autosuspend.
> > 
> > Now, the question is what criteria would the overall system monitor use to make
> > such a decision.
> > 
> > > > > and it could prevent suspend if a background process (not using
> > > > > wakelocks) is accessing a disk more frequently than its idle timeout.
> > > > 
> > > > Well, actually, shouldn't it prevent suspend from happening?  Arguably, it just
> > > > means that the disk is continuously being accessed with respect to the inactive
> > > > timeout granularity.
> > > 
> > > That's true, but it shows the problem of making the autosleep decision
> > > based on disk activity.  An auto-sleep should not have to wait for
> > > every device (or some suitable subset) to become idle for some minimum
> > > time; it should be able to kick in at short notice.
> > 
> > Again, the decision to trigger automatic suspend has to be based on some
> > well defined criteria and the (in)activity of devices seems to be one of them.
> 
> I don't know what criteria the system monitor would use.

I don't know either and this is the whole point.  They need to be specified
somehow and I'm not sure if "we suspend if no one is holding a wakelock" is the
right approach.

> It might have to be platform-specific.  The Android people seem to have a
> pretty good idea of what criteria will work for them.

I'd really like to know in what situations Androind is supposed to suspend
automatically.

> Inactivity of devices isn't always a good criterion.  There might be a
> background task which wakes up every few seconds to do something as
> long as the system is awake, thereby keeping some device always active.  
> The activity from this background task shouldn't prevent an auto-sleep.

In fact there are two problems here.  First, there may be a task preventing
some devices from becoming inactive (like syslog).  Second, there may be
a task waiting for something important to happen, such that automatic suspend
cannot be triggered while it's waiting.  In both cases, IMO, the kernel is not
in a point to decide whether to suspend or not, because the user space knows
better.

Thanks,
Rafael

  reply	other threads:[~2009-02-19 21:16 UTC|newest]

Thread overview: 195+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-02-15 23:10 Rafael J. Wysocki
2009-02-16  0:44 ` Arjan van de Ven
2009-02-16  2:12   ` Benjamin Herrenschmidt
2009-02-16  2:20     ` Arjan van de Ven
2009-02-16  3:23       ` Benjamin Herrenschmidt
2009-02-16  3:30         ` Arjan van de Ven
2009-02-16 23:05         ` Pavel Machek
2009-02-16  7:06       ` Oliver Neukum
2009-02-16 15:40         ` Arjan van de Ven
2009-02-16 16:48           ` Oliver Neukum
2009-02-16 17:31             ` Arjan van de Ven
2009-02-16 20:08               ` Kyle Moffett
2009-02-16 20:28                 ` Arjan van de Ven
2009-02-16 20:39                 ` Alan Stern
2009-02-16 20:45                   ` Arjan van de Ven
2009-02-16 21:32                     ` Woodruff, Richard
2009-02-16 21:52                       ` Arjan van de Ven
2009-02-16 22:36                         ` Woodruff, Richard
2009-02-16 22:59                           ` Arjan van de Ven
2009-02-16 23:19                             ` Rafael J. Wysocki
2009-02-16 23:23                               ` Matthew Garrett
2009-02-17 10:12                                 ` Oliver Neukum
2009-02-17 13:58                                 ` Mark Brown
2009-02-17 14:20                                 ` Brian Swetland
2009-02-17 14:24                                   ` Matthew Garrett
2009-02-17 14:56                                     ` Oliver Neukum
2009-02-17 14:46                                   ` Arjan van de Ven
2009-02-17 14:51                                     ` Matthew Garrett
2009-02-17 14:56                                       ` Arjan van de Ven
2009-02-17 15:32                                         ` Woodruff, Richard
2009-02-18  0:04                                           ` Arjan van de Ven
2009-02-18  0:18                                             ` Woodruff, Richard
2009-02-18  5:35                                               ` Arjan van de Ven
2009-02-18  0:52                                             ` mark gross
2009-02-18  5:11                                             ` Arve Hjønnevåg
2009-02-18  5:55                                               ` Arjan van de Ven
2009-02-18 15:15                                         ` Matthew Garrett
2009-02-18 15:20                                           ` Woodruff, Richard
2009-02-17 14:58                                       ` Igor Stoppa
2009-02-17 15:28                                     ` Brian Swetland
2009-02-18  0:55                                       ` mark gross
2009-02-18  2:40                                       ` Benjamin Herrenschmidt
2009-02-18 17:48                                         ` Jesse Barnes
2009-02-18 17:52                                           ` Matthew Garrett
2009-02-18 18:01                                             ` Jesse Barnes
2009-02-18 22:05                                             ` Benjamin Herrenschmidt
2009-03-01 22:51                                       ` Pavel Machek
2009-02-27 10:00                                   ` Pavel Machek
2009-02-18  0:45                                 ` mark gross
2009-02-20  5:35                                 ` Arve Hjønnevåg
2009-02-20 15:27                                   ` Arjan van de Ven
2009-02-20 18:22                                 ` Pavel Machek
2009-02-20 18:26                                   ` Matthew Garrett
2009-02-20 20:49                                     ` Rafael J. Wysocki
2009-02-20 22:43                                       ` Arve Hjønnevåg
2009-02-16 23:41                               ` Arjan van de Ven
2009-02-16 23:08                           ` Rafael J. Wysocki
2009-02-17  3:09                             ` Alan Stern
2009-02-17 23:21                               ` Rafael J. Wysocki
2009-02-18  4:46                                 ` Arve Hjønnevåg
2009-02-18 21:17                                   ` Rafael J. Wysocki
2009-02-18 22:35                                     ` Arve Hjønnevåg
2009-02-18 22:44                                       ` Oliver Neukum
2009-02-18 23:04                                       ` Rafael J. Wysocki
2009-02-18 23:31                                         ` Alan Stern
2009-02-19 12:56                                           ` Rafael J. Wysocki
2009-02-19 14:59                                             ` Alan Stern
2009-02-19 21:15                                               ` Rafael J. Wysocki [this message]
2009-02-19 21:56                                                 ` Brian Swetland
2009-02-19 22:08                                                 ` Alan Stern
2009-02-19 22:21                                                   ` Rafael J. Wysocki
2009-02-19 22:58                                                     ` Oliver Neukum
2009-02-20 10:46                                                       ` Rafael J. Wysocki
2009-02-20 22:05                                                         ` Oliver Neukum
2009-02-20 22:44                                                           ` Rafael J. Wysocki
2009-02-20 23:11                                                           ` Arve Hjønnevåg
2009-02-20 23:20                                                             ` Oliver Neukum
2009-02-21  1:59                                                               ` Arve Hjønnevåg
2009-02-20  2:39                                                   ` Arve Hjønnevåg
2009-02-20 10:49                                                     ` Rafael J. Wysocki
2009-02-20 11:26                                                       ` Arve Hjønnevåg
2009-02-20 15:56                                                         ` Rafael J. Wysocki
2009-02-20 16:07                                                           ` Kyle Moffett
2009-02-20 20:56                                                             ` Rafael J. Wysocki
2009-02-20 21:02                                                               ` Rafael J. Wysocki
2009-02-20 23:03                                                           ` Arve Hjønnevåg
2009-02-20 23:57                                                             ` Rafael J. Wysocki
2009-02-21  1:08                                                               ` Arve Hjønnevåg
2009-02-21  9:47                                                                 ` Rafael J. Wysocki
2009-02-21 10:32                                                                   ` Arve Hjønnevåg
2009-02-21 20:20                                                                     ` Rafael J. Wysocki
2009-02-23 23:13                                                                       ` Arve Hjønnevåg
2009-02-23 23:53                                                                         ` Rafael J. Wysocki
2009-02-24  0:02                                                                           ` Arve Hjønnevåg
2009-02-27 10:12                                                                   ` Pavel Machek
2009-02-27 10:09                                                               ` Pavel Machek
2009-02-27 14:22                                                                 ` Rafael J. Wysocki
2009-02-27 14:29                                                                   ` Matthew Garrett
2009-02-27 20:54                                                                     ` Rafael J. Wysocki
2009-02-27 22:09                                                                       ` Arve Hjønnevåg
2009-02-27 22:55                                                                         ` Rafael J. Wysocki
2009-02-27 20:40                                                                   ` Pavel Machek
2009-02-27 20:55                                                                     ` Rafael J. Wysocki
2009-02-27 22:56                                                                       ` Arve Hjønnevåg
2009-02-27 23:44                                                                         ` Pavel Machek
2009-02-28  3:04                                                                           ` Arve Hjønnevåg
2009-02-28 10:18                                                                         ` Rafael J. Wysocki
2009-02-28 21:57                                                                           ` Arve Hjønnevåg
2009-02-28 22:53                                                                             ` Rafael J. Wysocki
2009-02-28 23:38                                                                               ` Arve Hjønnevåg
2009-03-01 23:17                                                                                 ` Rafael J. Wysocki
2009-03-02 23:48                                                                                   ` Arve Hjønnevåg
2009-03-03 22:39                                                                                     ` Rafael J. Wysocki
2009-03-03 23:38                                                                                       ` Arve Hjønnevåg
2009-03-04  0:49                                                                                         ` Pavel Machek
2009-03-01  0:06                                                                               ` Arve Hjønnevåg
2009-03-01  6:28                                                                                 ` Benjamin Herrenschmidt
2009-03-01  9:11                                                                                   ` Rafael J. Wysocki
2009-03-01  9:20                                                                                 ` Rafael J. Wysocki
2009-03-03  1:22                                                                                   ` Arve Hjønnevåg
2009-03-03 13:51                                                                                     ` Pavel Machek
2009-03-04  0:06                                                                                       ` Arve Hjønnevåg
2009-03-04  0:47                                                                                         ` Pavel Machek
2009-03-01 23:08                                                                                 ` Pavel Machek
2009-03-03 13:57                                                                             ` Pavel Machek
2009-03-03 23:51                                                                               ` Arve Hjønnevåg
2009-02-20 23:12                                                           ` Oliver Neukum
2009-02-20 23:40                                                             ` Rafael J. Wysocki
2009-02-20 23:45                                                               ` Matthew Garrett
2009-02-21  9:52                                                                 ` Rafael J. Wysocki
2009-02-21 16:52                                                               ` Alan Stern
2009-02-21 21:14                                                                 ` Rafael J. Wysocki
2009-02-27 10:16                                                                   ` Pavel Machek
2009-02-27 14:46                                                                     ` Alan Stern
2009-02-27 20:58                                                                       ` Rafael J. Wysocki
2009-02-22 14:03                                               ` Pavel Machek
2009-02-23 14:04                                                 ` Oliver Neukum
2009-02-27 10:18                                                   ` Pavel Machek
2009-02-27 15:22                                                     ` Oliver Neukum
2009-03-05 16:54                                                       ` Pavel Machek
2009-02-27 17:09                                                     ` Chris Friesen
2009-02-27 20:46                                                       ` Pavel Machek
2009-03-05 13:48                                           ` Pavel Machek
2009-03-01 22:56                                   ` Pavel Machek
2009-03-02  8:24                                     ` Oliver Neukum
2009-03-02 14:34                                       ` Pavel Machek
2009-03-02 15:13                                       ` Arjan van de Ven
2009-02-16 23:20               ` Oliver Neukum
2009-02-20 18:05                 ` Pavel Machek
2009-02-16  6:23   ` Roland Dreier
2009-02-16 15:38     ` Arjan van de Ven
2009-02-16 22:47     ` Pavel Machek
2009-02-16  7:02   ` Oliver Neukum
2009-02-16 21:48   ` Rafael J. Wysocki
2009-02-16 21:52     ` Peter Zijlstra
2009-02-16 21:53     ` Arjan van de Ven
2009-02-16 22:12       ` Rafael J. Wysocki
2009-02-16 22:40         ` Alan Stern
2009-02-16 22:56           ` Arjan van de Ven
2009-02-16 23:28             ` Rafael J. Wysocki
2009-02-17  2:43             ` Alan Stern
2009-02-17  2:57               ` Arjan van de Ven
2009-02-17  3:26                 ` Alan Stern
2009-02-16 23:02           ` Rafael J. Wysocki
2009-02-17  2:56             ` Alan Stern
2009-02-17 23:26               ` Rafael J. Wysocki
2009-02-18  8:53                 ` Oliver Neukum
2009-02-18 14:51                   ` Arjan van de Ven
2009-02-18 15:05                     ` Oliver Neukum
2009-02-18 15:10                       ` Alan Stern
2009-02-18 15:55                         ` Oliver Neukum
2009-02-18 16:39                           ` Alan Stern
2009-02-18 17:10                             ` Oliver Neukum
2009-02-18 15:09                     ` Alan Stern
2009-02-16 22:51     ` Pavel Machek
2009-02-16 22:55       ` Arjan van de Ven
2009-02-16 23:00       ` Rafael J. Wysocki
2009-02-16 23:18         ` Pavel Machek
2009-02-16 23:29       ` Oliver Neukum
2009-02-16 22:58 ` Pavel Machek
2009-02-16 23:13   ` Matthew Garrett
2009-02-16 23:22     ` Pavel Machek
2009-02-16 23:26       ` Matthew Garrett
2009-02-17 14:14         ` Brian Swetland
2009-02-17 14:19           ` Matthew Garrett
2009-02-17 21:57     ` mark gross
2009-02-17 22:04       ` Matthew Garrett
2009-02-17 22:19         ` Jesse Barnes
2009-02-17 23:28           ` Woodruff, Richard
2009-02-18  0:34           ` mark gross
2009-02-18 17:30       ` Chris Ball
2009-02-16 23:26   ` Rafael J. Wysocki
2009-02-22 13:46     ` Pavel Machek
2009-02-18  0:27 ` mark gross
2009-02-18 21: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=200902192215.18365.rjw@sisk.pl \
    --to=rjw@sisk.pl \
    --cc=arjan@infradead.org \
    --cc=arve@android.com \
    --cc=benh@kernel.crashing.org \
    --cc=igor.stoppa@nokia.com \
    --cc=kyle@moffetthome.net \
    --cc=lenb@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@lists.linux-foundation.org \
    --cc=mgross@linux.intel.com \
    --cc=mjg59@srcf.ucam.org \
    --cc=nigel@nigel.suspend2.net \
    --cc=oliver@neukum.org \
    --cc=pavel@ucw.cz \
    --cc=r-woodruff2@ti.com \
    --cc=stern@rowland.harvard.edu \
    --cc=swetland@google.com \
    --cc=u.luckas@road.de \
    /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

all inboxes | Powered by JetHome®