From: David Brownell <david-b@pacbell.net>
To: linux-pm@lists.osdl.org
Subject: Re: cpufreq terminally broken [was Re: community PM requirements/issues and PowerOP]
Date: Tue, 27 Feb 2007 12:55:42 -0800 [thread overview]
Message-ID: <200702271255.42661.david-b@pacbell.net> (raw)
In-Reply-To: <b324b5ad0609131650q1b7a78cfsa90e3fbe8d7b4093@mail.gmail.com>
Catching up on some ancient mail from one mbox ..
On Wednesday 13 September 2006 4:50 pm, David Singleton wrote:
> OpPoint constructs operating points for all supported frequency, voltage
> and suspend states for PC and SoC solutions running Linux.
That's one basic issue I have with such approaches to desribing operating
points: "all" such states gets to be an enormous set. What I've seen of
both PowerOP and OpPoint says that they both try to limit that set by just
enumerating a handful of specific operating points ... but the more generic
solution (generally matching chip specs) would be having a way to constrain
the parameters within their natural limits. (Rather than picking out a set
of half a dozen system modes in advance, by hand.)
- With CPU clock at AAA MHz, chip voltage K must be between A1 and A2 volts;
but those other clocks only need to follow their usual rules. This
defines a set of many operating points.
- The MMC driver needs to have power supply P output 3.3 V at 80 mA and
have clock D active. (Presumably, a different set of operating points.)
- If clock D is active, the SOC chip can't enter power state X; but again,
other clocks can use their normal rules. Again, many operating points.
- While UART U3 is set to 115200 baud, certain values of clock M aren't
allowed; but there are no other constraints, so that many operating
points are compatible with that configuration.
- Those chips must be in power state X for that module to enter power
state Y; other modules can be in any power state.
- That module must be in power state Y for the system to enter power
state Z.
- Because of chip errata, <these> parameter combinations (or transitions)
are invalid; don't trigger them.
Cataloguing every possible power-related parameter seems like a losing
game, even on relatively tiny systems which pay attention to power usage
from within each driver ... and doomed to failure in larger scenarios,
like that 256-core case.
It seems that I'm actually criticizing the notion of "operating point" as
a model to expose as a power management target ...
It's simple to say that the system is at a particular operating point,
and that it's an operating point that works well for MP4 playback. That's
like saying "it's warm today"; there are many kinds of warm day. It's
purely descriptive, and omits lots of relevant details. (Rainy too?)
But I really can't think it would be common for that to be the _only_ such
operating point ... simple counter-examples include the MMC and UART cases
above, considering that playback could often work with or without MMC active,
with or without UART at 115200 baud. Ergo, multiple operating points support
MP4 playback, ergo "operating point" isn't the key notion that would need to
be exposed. QED.
Now, where does that leave us? I think it leaves us looking at how those
constraints get expressed (by e.g. device drivers for clocks and voltages,
ditto cpufreq drivers) and to what they get expressed (clock framework,
voltage framework, maybe a CPU horsepower manager the scheduler talks to).
So for that MP4 example, one could alert the video driver to do its clock
setup, a horsepower manager to say "intensive software decode load coming
up for this RT task", and one of the relevant operating points would be
entered. And if the video data were coming from the MMC card, a slightly
different one would be entered as part of starting that data stream; etc.
Or in the 256-cpu example, just alert the horsepower manager that a huge
simulation job is upcoming ... that is, if the scheduler doesn't just do
that automatically when it notices it'd be a nice time to bring up some
of those currently-downed cores. (Automatic up/down of cores may not
behave well in all cases. By analogy: madvise gives VM advice that can't
be guessed by the kernel; schedulers may need similar advice.)
Comments?
- Dave
next prev parent reply other threads:[~2007-02-27 20:55 UTC|newest]
Thread overview: 133+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-09-11 7:57 community PM requirements/issues and PowerOP [Was: Re: So, what's the status on the recent patches here?] Eugeny S. Mints
2006-09-11 8:20 ` Pavel Machek
2006-09-11 9:47 ` Eugeny S. Mints
2006-09-11 19:36 ` Pavel Machek
2006-09-11 19:53 ` Matthew Locke
2006-09-11 20:06 ` Pavel Machek
2006-09-11 20:09 ` Pavel Machek
2006-09-11 20:33 ` Matthew Locke
2006-09-11 21:06 ` Pavel Machek
2006-09-11 21:50 ` Matthew Locke
2006-09-11 22:50 ` Pavel Machek
2006-09-12 3:31 ` Greg KH
2006-09-12 8:26 ` Matthew Locke
2006-09-13 4:22 ` David Brownell
2006-09-11 20:25 ` Matthew Locke
2006-09-11 21:02 ` Pavel Machek
2006-09-12 3:26 ` Greg KH
2006-09-11 22:00 ` Mark Gross
2006-09-11 22:08 ` Matthew Locke
2006-09-11 20:24 ` Eugeny S. Mints
2006-09-11 20:34 ` Pavel Machek
2006-09-13 4:54 ` David Brownell
2006-09-13 11:39 ` Preece Scott-PREECE
2006-09-14 9:12 ` Pavel Machek
2006-09-14 9:16 ` Vitaly Wool
2006-09-14 9:20 ` Matthew Locke
2006-09-14 10:05 ` Eugeny S. Mints
2006-09-14 10:17 ` Pavel Machek
2006-09-14 10:47 ` Eugeny S. Mints
2006-09-14 12:15 ` Vitaly Wool
2006-09-14 13:03 ` Pavel Machek
2006-09-14 13:04 ` Pavel Machek
2006-09-14 13:15 ` Vitaly Wool
2006-09-14 13:20 ` Pavel Machek
2006-09-14 13:26 ` Vitaly Wool
2006-09-14 14:59 ` David Brownell
2006-09-17 10:53 ` Amit Kucheria
2006-09-17 13:18 ` Pavel Machek
2006-09-17 13:28 ` Amit Kucheria
2006-09-17 13:40 ` Pavel Machek
2006-09-17 14:14 ` Amit Kucheria
2006-09-17 18:25 ` community PM requirements/issues and PowerOP[Was: " Preece Scott-PREECE
2006-09-18 9:02 ` community PM requirements/issues and PowerOP [Was: " Pavel Machek
2006-09-14 14:56 ` David Brownell
2006-09-17 12:34 ` Pavel Machek
2006-09-17 13:06 ` Vitaly Wool
2006-09-18 10:46 ` Amit Kucheria
2006-09-18 10:53 ` Pavel Machek
2006-09-18 12:01 ` Igor Stoppa
2006-09-18 12:11 ` nokia 770 [was Re: community PM requirements/issues and PowerOP [Was: Re: So, what's the status on the recent patches here?]] Pavel Machek
2006-09-18 12:42 ` Amit Kucheria
2006-09-19 18:25 ` Pavel Machek
2006-12-12 20:00 ` nokia 770 [was Re: community PM requirements/issues and PowerOP] David Brownell
2006-12-13 12:12 ` Eugeny S. Mints
2006-12-13 21:03 ` Pavel Machek
2006-12-13 21:32 ` David Brownell
2006-12-13 21:44 ` Matthew Locke
2006-12-13 21:53 ` Dave Jones
2006-12-13 22:50 ` Matthew Locke
2006-12-13 22:58 ` Dave Jones
2006-12-14 10:14 ` Dmitry Krivoschekov
2006-12-14 12:12 ` Dave Jones
2006-12-14 13:01 ` Vitaly Wool
2006-12-14 13:17 ` Dave Jones
2006-12-14 14:56 ` Pavel Machek
2006-12-14 15:22 ` Dmitry Krivoschekov
2006-12-13 22:55 ` nokia 770 [was Re: community PM requirements...] David Brownell
2006-12-13 21:56 ` nokia 770 [was Re: community PM requirements/issues and PowerOP] Eugeny S. Mints
2006-12-13 21:58 ` Pavel Machek
2006-12-13 22:27 ` nokia 770 [was Re: community PM requirements...] David Brownell
2006-12-13 21:27 ` nokia 770 [was Re: community PM requirements/issues and PowerOP] Matthew Locke
2006-09-14 19:25 ` community PM requirements/issues and PowerOP [Was: Re: So, what's the status on the recent patches here?] Jon Loeliger
2006-09-17 12:46 ` Pavel Machek
2006-09-17 17:32 ` Preece Scott-PREECE
2006-09-19 18:20 ` Pavel Machek
2006-09-19 19:11 ` Preece Scott-PREECE
2006-09-23 23:39 ` Pavel Machek
2006-09-14 12:12 ` Vitaly Wool
2006-09-14 12:35 ` Eugeny S. Mints
2006-09-14 9:32 ` PowerOP on lkml or linux-pm? Matthew Locke
2006-09-14 9:45 ` Pavel Machek
2006-09-14 9:58 ` Matthew Locke
2006-09-14 9:47 ` community PM requirements/issues and PowerOP [Was: Re: So, what's the status on the recent patches here?] Matthew Locke
2006-09-11 19:30 ` Matthew Locke
2006-09-11 19:55 ` Pavel Machek
2006-09-11 20:53 ` Eugeny S. Mints
2006-09-11 21:00 ` Pavel Machek
2006-09-11 21:36 ` Preece Scott-PREECE
2006-09-11 21:39 ` Pavel Machek
2006-09-11 22:41 ` Eugeny S. Mints
2006-09-11 23:05 ` cpufreq user<->kernel interface removal [was Re: community PM requirements/issues and PowerOP] Pavel Machek
2006-09-11 23:50 ` Mark Gross
2006-09-12 3:35 ` Greg KH
2006-09-12 8:41 ` Matthew Locke
2006-09-12 17:03 ` Jon Loeliger
2006-09-14 16:26 ` Mark Gross
2006-09-17 12:37 ` Pavel Machek
2006-09-17 13:10 ` Vitaly Wool
2006-09-17 13:20 ` Pavel Machek
2006-09-11 22:05 ` community PM requirements/issues and PowerOP [Was: Re: So, what's the status on the recent patches here?] Eugeny S. Mints
2006-09-11 22:56 ` cpufreq terminally broken [was Re: community PM requirements/issues and PowerOP] Pavel Machek
2006-09-12 0:17 ` Mark Gross
2006-09-12 3:37 ` Greg KH
2006-09-13 23:50 ` [linux-pm] " David Singleton
2006-09-14 5:30 ` Vitaly Wool
2006-09-14 5:55 ` OpPoint summary Greg KH
2006-09-14 7:35 ` Vitaly Wool
2006-09-14 16:55 ` David Singleton
2006-09-14 17:03 ` David Singleton
2006-09-14 17:07 ` David Singleton
2006-09-14 17:25 ` Auke Kok
2006-09-14 18:15 ` [linux-pm] " Vitaly Wool
2006-09-14 18:17 ` David Singleton
2006-09-17 17:48 ` Pavel Machek
2006-09-18 14:33 ` [linux-pm] " Richard A. Griffiths
2006-09-18 16:13 ` Matthew Locke
2006-09-14 17:11 ` David Singleton
2006-09-17 5:07 ` David Singleton
2006-09-17 12:56 ` Pavel Machek
2006-09-17 12:58 ` Pavel Machek
2006-09-17 22:43 ` [linux-pm] " Matthew Locke
2007-02-27 20:55 ` David Brownell [this message]
2007-02-27 22:41 ` cpufreq terminally broken [was Re: community PM requirements/issues and PowerOP] Matthew Locke
2006-09-12 8:33 ` Pavel Machek
2006-09-12 9:10 ` Vitaly Wool
2006-09-12 9:16 ` Pavel Machek
2006-09-12 9:23 ` [linux-pm] " Vitaly Wool
2006-09-14 15:04 ` Mark Gross
2006-09-14 14:58 ` Mark Gross
2006-10-05 3:30 ` community PM requirements/issues and PowerOP [Was: Re: So, what's the status on the recent patches here?] Dominik Brodowski
2006-09-11 21:53 ` Mark Gross
2006-09-11 22:43 ` Pavel Machek
2006-09-12 0:00 ` Mark Gross
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=200702271255.42661.david-b@pacbell.net \
--to=david-b@pacbell.net \
--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