public inbox for linux-pm@vger.kernel.org
 help / color / mirror / Atom feed
From: Amit Kucheria <amit.kucheria@nokia.com>
To: linux-pm@lists.osdl.org
Subject: Re: Toward runtime power management in Linux
Date: Mon, 01 Aug 2005 14:44:46 +0300	[thread overview]
Message-ID: <1122896686.2647.32.camel@localhost> (raw)
In-Reply-To: <20050801021054.GA30859@best.com>

[-- Attachment #1: Type: text/plain, Size: 2629 bytes --]

On Sun, 2005-07-31 at 19:10 -0700, ext Leo L. Schwab wrote:

<snip>

> 
> > Idle-timeout RTPM: We certainly should have an API whereby userspace
> > can inform the kernel of an idle-timeout value to use for
> > autosuspending.  (In principle there could be multiple timeout values,
> > for successively deeper levels of power saving.)  This cries out to be
> > managed in a centralized way rather than letting each driver have its
> > own API.  It's not so clear what the most efficient implementation
> > will be.  Should every device have its own idle-timeout kernel timer?
> > (That's a lot of kernel timers.)

Per-device idle-timeouts are IMHO important in embedded space where one
wants finer-grained control. e.g. Sometimes it might be better to just
let a device be active to avoid wake-up latencies from power-save mode.
Also, some application usage profiles might dictate changes in
idle-timeout values to allow optimisation for the common use-cases.

> 	Whether you do it in user space or kernel space, you're going to
> potentially schedule a lot of timers.
> > Or should the RTPM kernel thread
> > wake up every second to scan a list of devices that may have exceeded
> > their idle timeouts?
> >
> 	This could potentially make performance-conscious apps "hiccup"
> once every second as this thread goes walking the list looking for
> candidates to shut off.  Try to avoid this; if nothing is happening, nothing
> should be running.

Whether the idle-timeout is implemented using kernel timers or a kernel
thread checking for timeout values, is a more difficult question.
Ideally, we would want to avoid unnecessary (processor) wakeups simply
to check a list of timeout values. Dynamic tick patch allows us to
wakeup the processor only when there is work to do - timers set to go
off. So, that's one strike against the kernel thread approach. 

But it needs more thinking.

> > Userspace support: It's easy to see how userspace could use sysfs to
> > request a single device state change.  But what if the user wants to
> > suspend an entire subtree?  [ ... ]
> 
> 	If you wanted to get really fancy, you could establish via a
> userspace API a named "device collection" which acts as a virtual device.
> You then apply the state change to the device collection, and the kernel
> percolates it through all the actual devices, taking locking into account.
> 
> 					Schwab

If I tell a bus to power down, couldn't the PM framework take care of
recursively sending 'power down' message to all children, wait for
confirmation, and then power itself down?

Regards,
Amit
-- 
Amit Kucheria <amit.kucheria@nokia.com>
Nokia

[-- Attachment #2: Type: text/plain, Size: 0 bytes --]



  reply	other threads:[~2005-08-01 11:44 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-07-31  2:36 Toward runtime power management in Linux Alan Stern
2005-08-01  2:10 ` Leo L. Schwab
2005-08-01 11:44   ` Amit Kucheria [this message]
2005-08-01 14:16     ` Alan Stern
     [not found]     ` <20050802024415.C3518DB57B@adsl-69-107-32-110.dsl.pltn13.pacbell.net>
2005-08-04  8:06       ` Tony Lindgren
2005-08-04 16:02         ` david-b
2005-08-14 19:53         ` Pavel Machek
2005-08-01 14:07   ` Alan Stern
2005-08-01 15:10     ` Jordan Crouse
2005-08-01 15:23       ` Alan Stern
2005-08-04 17:24     ` Igor Stoppa
     [not found] ` <Pine.LNX.4.50.0508011712220.2764-100000@monsoon.he.net>
2005-08-02 17:45   ` Geoff Levand
2005-08-25  3:12 ` Benjamin Herrenschmidt
2005-08-25 15:27   ` Alan Stern
2005-08-25 21:42     ` Benjamin Herrenschmidt
2005-08-26  2:25       ` Alan Stern
     [not found] <Pine.LNX.4.50.0508012316380.2764-100000@monsoon.he.net>
2005-08-02 14:35 ` Alan Stern
  -- strict thread matches above, loose matches on Subject: below --
2005-08-25 13:59 Brown, Len

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=1122896686.2647.32.camel@localhost \
    --to=amit.kucheria@nokia.com \
    --cc=linux-pm@lists.osdl.org \
    /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