public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Johannes Stezenbach <js@linuxtv.org>
To: Adrian Bunk <bunk@stusta.de>, Andi Kleen <ak@suse.de>,
	Dave Jones <davej@redhat.com>,
	Dmitry Torokhov <dtor_core@ameritech.net>,
	davej@codemonkey.org.uk,
	Zwane Mwaikambo <zwane@commfireservices.com>,
	Samuel Masham <samuel.masham@gmail.com>,
	Jan Engelhardt <jengelh@linux01.gwdg.de>,
	linux-kernel@vger.kernel.org, Andrew Morton <akpm@osdl.org>,
	cpufreq@lists.linux.org.uk
Subject: Re: Status of X86_P4_CLOCKMOD?
Date: Sun, 26 Feb 2006 21:39:41 +0100	[thread overview]
Message-ID: <20060226203941.GA5783@linuxtv.org> (raw)
In-Reply-To: <20060225132820.GA13413@isilmar.linta.de>

On Sat, Feb 25, 2006 at, Dominik Brodowski wrote:
> On Sat, Feb 25, 2006 at 01:53:26PM +0100, Adrian Bunk wrote:
> > > > Doesn't less heat imply less power consumption?
> > > 
> > > Not in this case no.
> > >...
> > 
> > Sorry for the dumb question, but how could this work physically?
> > 
> > If a computer produces less heat with the same power consumption, what 
> > happens with the other energy?
> 
> No. Let's do the math (again), and (again) for the actual values of an Intel
> Pentium(R) M Processor, 1400 MHz @ 1.484 V, even though the same rules of
> physics, logic and mathematics apply to _all_ processors.

Do you have the numbers for a Pentium(R) 4 HT? (I couldn't find
anything substantial with google.) Especially C2 vs. C2 + throttling?
Because the way I remember having read somewhere, the idle
(C2) power consumption of the P4 is significantly higher
than with the Pentium(R) M.

> Power consumption in idle state C2 (Stop-Grant state)	 7.3 W
> Power consumption when "skipping instructions"
> 	because of throttling (Stop-Grant state)	 7.3 W
> 
> Power consumption when doing work			22.0 W
> 
> 
> This means that if the processor idle percentage is _larger_ than (1 -
> throttling rate), throttling has no effect at all.

On a Pentium(R) M, but how about P4? The two have very different
architectures, don't they?

> Now, let's assume there is some work for the CPU to do which keeps it busy
> for one second @ 1.4 GHz. How much energy is needed to get this work done?
> 
> 0% throttling:		22 Ws	(1s)
> 25% throttling:		24 Ws	(1.3s)
> 50% throttling:		29 Ws	(2s)
> 75% throttling:		44 Ws	(4s)
> 
> 
> Now let's also assume there is nothing else to do during a span of four
> seconds: then, independent of the throttling setting, the CPU power
> consumption is 44 Ws for these four seconds.
> 
> 
> However: for the 75% throttling state, the CPU only produces 11 W of heat
> _all the time_ -- this means, the fan or air conditioning must only consider
> 11 W. For 0%, the CPU may produce 44 W of heat in a second -- and to cool
> that sufficiently, the fan _may_ need to run faster, which consumes more
> energy than is saved by only having to cool 7.3 W (instead of 11W) the other
> three seconds.

This is all fine, but why would anyone use throttling when the
CPU has work to do (except for thermal emergency throttling)?

> So: P4-clockmod style throttling only makes sense if either
> 
> a) the idle handler does not enter the Stop-Grant state (C2) efficiently, or
> 
> b) the load varies significantly over time in a manner which has effect on
>    the fan, and where the latency induced by throttling doesn't matter.

Maybe my previous mails were not clear enough: The goal is to
reduce idle power consumption (and by that fan noise). The PC
is running but is idle, e.g just listening for possible incoming
jabber messages or whatever.

When I experimented with P4-clockmod some time ago, I observed
that the fan noise was reduced when I left the box run idle
with clockmod set to maximum throttling. I thought this was
a good thing.

Anyway, 2.6.16-rc4 p4-clockmod driver doesn't work with my CPU
anymore (booted with cpufreq.debug=7):

CPU: Intel(R) Pentium(R) 4 CPU 2.60GHz stepping 09
Checking 'hlt' instruction... OK.
...
cpufreq-core: trying to register driver p4-clockmod
cpufreq-core: adding CPU 0
p4-clockmod: has errata -- disabling frequencies lower than 2ghz
speedstep-lib: x86: f, model: 2
speedstep-lib: ebx value is 9, x86_mask is 9
speedstep-lib: P4 - MSR_EBC_FREQUENCY_ID: 0xd12000d 0x0
speedstep-lib: P4 - FSB 200000 kHz; Multiplier 13; Speed 2600000 kHz
freq-table: setting show_table for cpu 0 to b04be620
freq-table: table entry 0 is invalid, skipping
freq-table: table entry 1 is invalid, skipping
freq-table: table entry 2 is invalid, skipping
freq-table: table entry 3 is invalid, skipping
freq-table: table entry 4 is invalid, skipping
freq-table: table entry 5 is invalid, skipping
freq-table: table entry 6 is invalid, skipping
freq-table: table entry 7 is invalid, skipping
freq-table: table entry 8 is invalid, skipping
cpufreq-core: initialization failed
cpufreq-core: no CPU initialized for driver p4-clockmod
cpufreq-core: unregistering CPU 0


Johannes

  parent reply	other threads:[~2006-02-26 20:40 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-02-14 15:22 [2.6 patch] make INPUT a bool Adrian Bunk
2006-02-14 18:14 ` Jan Engelhardt
2006-02-14 18:22   ` Adrian Bunk
2006-02-14 23:47     ` Adrian Bunk
2006-02-17 15:56     ` Jan Engelhardt
2006-02-17 16:38       ` Adrian Bunk
2006-02-20  3:33         ` Samuel Masham
2006-02-20 13:28           ` Adrian Bunk
2006-02-22  1:34             ` Herbert Poetzl
2006-02-22  2:31               ` Adrian Bunk
2006-02-22  2:44                 ` Herbert Poetzl
2006-02-22  3:10                   ` Adrian Bunk
2006-02-22  3:20                     ` Dmitry Torokhov
2006-02-23 19:59                       ` Status of X86_P4_CLOCKMOD? Adrian Bunk
2006-02-23 20:41                         ` Dave Jones
2006-02-23 23:15                           ` Andi Kleen
2006-02-23 23:33                             ` Adrian Bunk
2006-02-23 23:55                               ` Andi Kleen
2006-02-24  2:39                                 ` Adrian Bunk
2006-02-24  2:42                                   ` Andi Kleen
2006-02-24 17:33                                     ` Adrian Bunk
2006-02-25  1:57                           ` Johannes Stezenbach
2006-02-25  4:24                             ` Dave Jones
2006-02-25 12:53                               ` Johannes Stezenbach
2006-02-27 21:17                                 ` Wes Felter
2006-02-25  4:27                             ` Andi Kleen
2006-02-25 12:53                               ` Adrian Bunk
2006-02-25 13:28                                 ` Dominik Brodowski
2006-02-26 11:12                                   ` Pavel Machek
2006-02-26 20:39                                   ` Johannes Stezenbach [this message]
2006-02-26 20:55                                     ` Dominik Brodowski
2006-02-26 23:37                                       ` Johannes Stezenbach
2006-02-25 13:36                                 ` Andi Kleen
2006-02-25 13:05                               ` Johannes Stezenbach
2006-02-28 19:46                           ` Matt Mackall
2006-02-28 20:09                             ` Dave Jones
2006-02-28 20:19                               ` Dmitry Torokhov
2006-02-28 20:47                               ` Matt Mackall
2006-02-28 20:57                                 ` Dominik Brodowski
2006-02-28 21:26                                   ` Matt Mackall
2006-02-28 21:34                                     ` Dominik Brodowski
2006-02-28 21:39                                       ` Dmitry Torokhov
2006-02-28 22:22                                         ` Andi Kleen
2006-02-22 12:01                     ` [2.6 patch] make INPUT a bool Herbert Poetzl
2006-02-22 12:15                       ` Adrian Bunk
2006-02-22 18:09                         ` Herbert Poetzl
2006-02-25 11:58                 ` Geert Uytterhoeven
2006-02-25 12:46                   ` Adrian Bunk
2006-02-25 14:22                     ` Jan Engelhardt
2006-02-25 14:50                       ` Adrian Bunk
2006-02-25 15:29                         ` Jan Engelhardt
2006-02-25 15:40                           ` Adrian Bunk
2006-02-25 22:01                             ` Jan Engelhardt
2006-02-25 22:07                               ` Adrian Bunk
2006-02-25 22:23                                 ` Dmitry Torokhov
2006-02-26 18:13                                   ` Adrian Bunk
2006-02-27  7:11                                   ` Vojtech Pavlik
2006-02-27 12:59                                 ` Vojtech Pavlik
2006-02-25 14:57                       ` Jesper Juhl
2006-02-15  6:20 ` Dmitry Torokhov
2006-02-16 23:22   ` Adrian Bunk
2006-02-17  1:47     ` Dmitry Torokhov

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=20060226203941.GA5783@linuxtv.org \
    --to=js@linuxtv.org \
    --cc=ak@suse.de \
    --cc=akpm@osdl.org \
    --cc=bunk@stusta.de \
    --cc=cpufreq@lists.linux.org.uk \
    --cc=davej@codemonkey.org.uk \
    --cc=davej@redhat.com \
    --cc=dtor_core@ameritech.net \
    --cc=jengelh@linux01.gwdg.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=samuel.masham@gmail.com \
    --cc=zwane@commfireservices.com \
    /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