From: Arjan van de Ven <arjan@infradead.org>
To: david@lang.hm
Cc: Igor Stoppa <igor.stoppa@nokia.com>,
"ext linux-pm-bounces@lists.linux-foundation.org"
<linux-pm-bounces@lists.linux-foundation.org>,
LKML <linux-kernel@vger.kernel.org>,
linux-pm <linux-pm@lists.linux-foundation.org>
Subject: Re: [linux-pm] Power Management framework proposal
Date: Sun, 22 Jul 2007 21:19:17 -0700 [thread overview]
Message-ID: <1185164357.2714.49.camel@laptopd505.fenrus.org> (raw)
In-Reply-To: <Pine.LNX.4.64.0707222054060.6350@asgard.lang.hm>
On Sun, 2007-07-22 at 21:04 -0700, david@lang.hm wrote:
> >> the fact that you want to run at the max frequancy for a given voltage is
> >
> > no I want to run at the max frequency PERIOD. On just about any PC, it's
> > more power efficient to go full speed when executing code, and then idle
> > for as long as you can. (there are some second order effects that make
> > this a bit more complex, but as first order approach it's a sound
> > approach). Voltage follows, and that's fine.
>
> this seems to be contradicted by the fact that AMD is listing the ability
> for each core to run at a different clock speed on the new 4-core chips as
> an advantage.
that's a marketing thing mostly.. they all still run at the same voltage
anyway.
> if you always want to run at the max frequency PERIOD then
> why bother engineering the ability to do otherwise? (as opposed to just
> shutting down unused cores)
multicore changes the rules a little but not all that much. (the idle
power is higher if not all cores are idle at the same time. Yet... each
core individually trying to be idle as quickly as possible is the best
way to get to the highest "all cores idle" time, unless there is some
really special/weird synchronization)
> >> this strategy should work well on the normal unpredictable workload that
> >> most people deal with, but there are some cases where the workload becomes
> >> pretty predictable (media players for example) where there really is less
> >> variation, and a need for a constant availability of the cpu, so it may
> >> actually save a smidge of power to run below the highest freq that the
> >> voltage allows rather then running faster and being idle more cycles.
> >
> > that actually is the example showcase of race-to-idle where you
> > absolutely want to run at the highest frequency..
>
> only if the transitions don't cost anything significant,
these are second order effects though. On a pc, the transition costs are
quite low (as I said, single or low double digit microseconds).
They are not zero, and that is why you see things like ondemand ramp up
only after a little time, as a guestimate to make sure it's not just a
really short lived code execution.
> and the
> computation capacity per watt of power is the same at all frequencies. the
> chip performance numbers I've been seeing (which I admit are mostly
> embedded datasheets) indicate that neither of these hold true.
let me give you a real world example then, and the numbers I'm using are
ballpark the same as you'll find in a (mobile) core 2 duo datasheet, I
just rounded them a little so that the math works out nice.
power at full speed: 34W
power at half speed: 24W
power at idle: 1W
assume media playback, and a dumb one, that takes half a second to
decode a second of media. (again to make the math simple)
at half speed: Energy for a second is 0.5 * 24 + 0.5 * 1 = 12.5 J
at full speed: Energy for a second is 0.25 * 34 + 0.75 * 1 = 9.25 J
this works for all systems where the idle power is more lower than the
power you save by dropping speed... and that is almost all of them in
the PC world.
now you can argue that 0.5 seconds is a really really long time, and
you'd be right. so for really really short stints (say a timer
interrupt) you don't want to change the voltage at all (nor would you
want to change the plls to change frequency for that matter). But once
you start chaning those, you might as well go full speed.
--
if you want to mail me at work (you don't), use arjan (at) linux.intel.com
Test the interaction between Linux and your BIOS via http://www.linuxfirmwarekit.org
next prev parent reply other threads:[~2007-07-23 4:21 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-07-22 6:49 david
2007-07-22 7:57 ` [linux-pm] " Igor Stoppa
2007-07-22 8:58 ` david
2007-07-22 12:05 ` Igor Stoppa
2007-07-22 21:21 ` david
2007-07-22 23:09 ` Arjan van de Ven
2007-07-23 2:45 ` david
2007-07-23 3:50 ` Arjan van de Ven
2007-07-23 4:04 ` david
2007-07-23 4:19 ` Arjan van de Ven [this message]
2007-07-23 5:25 ` david
2007-07-23 14:12 ` Arjan van de Ven
2007-07-23 18:19 ` david
2007-07-23 8:56 ` Ondrej Zajicek
2007-07-23 17:33 ` david
2007-07-27 12:04 ` Pavel Machek
2007-07-23 10:48 ` Igor Stoppa
2007-07-23 18:14 ` david
2007-07-24 8:43 ` Jerome Glisse
2007-07-24 14:18 ` Igor Stoppa
2007-07-24 20:13 ` david
2007-07-24 20:06 ` david
2007-07-24 23:14 ` Jerome Glisse
2007-07-25 0:40 ` david
2007-07-25 12:49 ` Jerome Glisse
2007-07-29 21:56 ` david
2007-07-22 17:26 ` Arjan van de Ven
2007-07-22 18:56 ` david
2007-07-22 22:27 ` Arjan van de Ven
2007-07-23 3:51 ` david
2007-07-23 4:00 ` Arjan van de Ven
2007-07-23 4:09 ` david
2007-07-27 11:46 ` Pavel Machek
2007-07-29 22:00 ` david
2007-07-30 1:05 ` Matthew Garrett
2007-07-23 22:23 ` Benjamin Herrenschmidt
2007-07-24 20:14 ` david
2007-07-24 21:38 ` Benjamin Herrenschmidt
2007-07-24 23:02 ` david
2007-07-24 23:47 ` Benjamin Herrenschmidt
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=1185164357.2714.49.camel@laptopd505.fenrus.org \
--to=arjan@infradead.org \
--cc=david@lang.hm \
--cc=igor.stoppa@nokia.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm-bounces@lists.linux-foundation.org \
--cc=linux-pm@lists.linux-foundation.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
all inboxes | Powered by JetHome®