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 --]
next prev parent 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