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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.