From: Todd Poynor <tpoynor@mvista.com>
To: ncunningham@cyclades.com
Cc: David Brownell <david-b@pacbell.net>,
Linux-pm mailing list <linux-pm@lists.osdl.org>,
linux-pm@osdl.org,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Pavel Machek <pavel@ucw.cz>
Subject: Re: [linux-pm] [PATCH] Custom power states for non-ACPI systems
Date: Fri, 04 Mar 2005 12:50:55 -0800 [thread overview]
Message-ID: <4228CA2F.2030508@mvista.com> (raw)
In-Reply-To: <1109911788.3772.228.camel@desktop.cunningham.myip.net.au>
Nigel Cunningham wrote:
...
> Two way communication between a userspace policy manager and kernel
> drivers is implemented via DBus.
>
> In this scheme, 'kernel drivers' doesn't just refer to the drivers for
> hardware. It refers to anything remotely power management related,
> including code to implement suspend-to-RAM, to disk or the like, ACPI
> drivers or code to implement system power states.
>
> The policy manager can enumerate devices and inter-relationships,
> capabilities, settings and status information, set and query policies
> and implementation results. The drivers can notify events. This
> communication doesn't use complicated structures or type definitions.
> Rather, all the nous regarding interpretation of the messages that are
> sent is in the policy manager and the drivers. One driver might say it's
> capable of states called "D0, D1 and D3", another (system) states called
> "Deep Sleep" and "Big Sleep". Nothing but the driver itself and
> userspace manager need to how to interpret & use these states.
>
> Inter-relationships between drivers are _not_ included in this
> information. The policy manager sets policy, the drivers deal with the
> specifics of implementing it.
This all sounds exactly like the way we're headed as well, so I'm
definitely interested in anything I can do to help. Was thinking that
can start defining kobject_uevent power events and attributes (with
enough detail that acpid could use it instead of /proc if the ACPI
drivers were to convert to it).
Capturing the relationships between drivers is difficult. If nobody's
already looking into this then I'll take this up soon.
> The userspace manager can in turn [en|dis]able capabilites and send a
> list of run-time states that the driver can move between according to
> its own logic (eg lack of active children) without notifying the
> userspace manager. This would fit in with your power modes above, even
> to the level of "cpu idle".
At dynamicpower.sf.net we do something similar for cpufreq-style scaling
of platform clocks and voltages, setting up desired policy for various
platform clocks/voltages according to changes in low-level system state
(primarily scheduler state) from userspace and then letting the state
machine run without interaction. Similar policy objects for devices
sounds intriguing, although the device-specific nature of event triggers
probably makes this quite difficult.
Mac OS X support for some of these concepts is documented at
developer.apple.com, looking for ideas to steal... Thanks,
--
Todd
prev parent reply other threads:[~2005-03-04 20:56 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-03-02 2:03 [PATCH] Custom power states for non-ACPI systems Todd Poynor
2005-03-02 2:41 ` Todd Poynor
2005-03-02 2:57 ` [linux-pm] " Benjamin Herrenschmidt
2005-03-02 8:56 ` Pavel Machek
2005-03-02 21:58 ` Todd Poynor
2005-03-02 22:11 ` Pavel Machek
2005-03-03 0:26 ` Todd Poynor
2005-03-03 14:55 ` Pavel Machek
2005-03-04 2:01 ` David Brownell
2005-03-04 8:31 ` Pavel Machek
2005-03-04 2:10 ` Todd Poynor
2005-03-04 2:17 ` David Brownell
2005-03-04 4:49 ` Nigel Cunningham
2005-03-04 6:31 ` David Brownell
2005-03-04 20:50 ` Todd Poynor [this message]
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=4228CA2F.2030508@mvista.com \
--to=tpoynor@mvista.com \
--cc=david-b@pacbell.net \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@lists.osdl.org \
--cc=linux-pm@osdl.org \
--cc=ncunningham@cyclades.com \
--cc=pavel@ucw.cz \
/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.