From: Dominik Brodowski <linux@dominikbrodowski.net>
To: David Brownell <david-b@pacbell.net>
Cc: linux-pm@lists.osdl.org, Pavel Machek <pavel@ucw.cz>
Subject: Re: RE: on-ness
Date: Fri, 21 Apr 2006 19:12:49 +0200 [thread overview]
Message-ID: <20060421171249.GA18617@isilmar.linta.de> (raw)
In-Reply-To: <200604211003.41049.david-b@pacbell.net>
[-- Attachment #1: Type: text/plain, Size: 3769 bytes --]
On Fri, Apr 21, 2006 at 10:03:40AM -0700, David Brownell wrote:
> > We need to distinguish two aspects here -- the "whole system states", which
> > in fact create a multi-dimensional problem, and one specific attribute of
> > one specific device.
>
> Individual device operating points are multi-dimensional too. Controllers
> are just mini-systems after all, and some of the device attributes will
> be constrained by system attributes ...
Exactly, that is what I was referring to as well :)
> > The performance level of one specific networking device,
> > for example. Or its sleep state.
>
> ... e.g. if it's suspended during system-wide "slow clock mode" it might
> be pretty well unusable, except maybe for PHY based wakeup events; but
> if it's suspended during a more functional system state, enough clocks
> may be available for wake-on-LAN may behave.
Sure. But again you're mixing system state and device state. Of course the
former may constrain the latter, and vice versa.
> > Or, if you can describe sub-aspects of a
> > networking device, the performance level or the sleep state of that
> > sub-device. So each strict-order parameter has its own file (that's why
> > the RFC mentioned three files for CPUs in the ACPI-model, for performance,
> > idle and throttling; different CPUs in different, especially embedded
> > surroundings may require additional files).
>
> I seem to have missed some RFC... the note on "on-ness" I responded to
> had some musings, but no evident proposal.
Mis-naming on my part - I was just referring to the "on-ness" proposal too.
> The embedded CPUs I've worked with wouldn't
> have much need for "idle" and "throttling" controls, either.
Other embedded CPUs do, though... and we're trying to abstract things here,
right?
> > Well, the big problem with names and anything "system specific" is that it
> > makes _abstractions_ harder. It makes userspace's life harder, as it needs
> > to know what "idle" means on a specific system, instead.
>
> If by "userspace" we can mean just "what writes the /sys/power/state file",
> it's straightforward for a given system to provide mappings between some
> common tokens ("standby", "mem", etc) to a system-specific meaning.
Uh. Not /sys/power/state. But /sys/devices/...../power/{[a],[b],[c]} where
[a], [b] and [c] need sensible names.
> Of course, those tokens don't necessarily expose all the meanings that
> are wanted for managing power on that system. But they're probably a
> reasonable start. The code behind a system's pm_ops will package a lot
> of decisions about the operating points associated with "standby" etc,
> and it's a bit of work to make sure any given operating point is both
> sensible and functional.
The "on-ness" thingy was about device power sates, AFAIK, but not about
/sys/power/state. So not about what some call "operating points" of the
system, but only about specific settings of a "device" or "part of the
system".
> The same points hold for "ACPI_D0"..."ACPI_D3" states. If a device may need
> up to four clocks for its fully operational state, but doesn't need all of
> them for more typical reduced-function (and reduced-power) states, there's
> not necesssarily going to be a natural linear/"strict" sequencing of those
> states. "More power for task one and less power to task two" might be just
> as much power as "more-for-two/less-for-one" ... and from the userspace
> perspective, they could act just like "full power for both" for drivers
> that automatically handle the transitions.
Yes. That's why there is talk about having different files describing a
device, and not just one. So you might have four files describing these four
clocks... and yet another file for describing the non-working states.
Dominik
[-- Attachment #2: Type: text/plain, Size: 0 bytes --]
next prev parent reply other threads:[~2006-04-21 17:12 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-04-18 18:39 RE: on-ness Brown, Len
2006-04-20 13:25 ` Pavel Machek
2006-04-21 15:27 ` David Brownell
2006-04-21 15:40 ` Dominik Brodowski
2006-04-21 17:03 ` David Brownell
2006-04-21 17:12 ` Dominik Brodowski [this message]
2006-04-21 18:30 ` David Brownell
2006-04-21 18:33 ` Dominik Brodowski
2006-04-21 19:00 ` David Brownell
2006-04-21 19:04 ` [OT] debugfs and sysfs [Was: Re: RE: on-ness] Dominik Brodowski
2006-04-21 19:01 ` RE: on-ness Pavel Machek
2006-04-24 21:04 ` David Brownell
2006-04-24 21:32 ` Pavel Machek
2006-04-24 23:21 ` David Brownell
2006-04-21 17:15 ` David Brownell
-- strict thread matches above, loose matches on Subject: below --
2006-04-21 17:58 Preece Scott-PREECE
2006-04-21 18:15 ` David Brownell
2006-04-24 21:32 Woodruff, Richard
2006-04-27 1:39 ` Patrick Mochel
2006-05-01 21:35 ` David Brownell
2006-04-27 14:12 Scott E. Preece
2006-04-27 17:01 ` Patrick Mochel
2006-05-01 21:58 ` David Brownell
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=20060421171249.GA18617@isilmar.linta.de \
--to=linux@dominikbrodowski.net \
--cc=david-b@pacbell.net \
--cc=linux-pm@lists.osdl.org \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox