Re: PROBLEM: Celeron Core

From: Andi Kleen
Date: Fri Jan 18 2008 - 20:12:19 EST


On Fri, Jan 18, 2008 at 06:27:57PM -0600, Matt Mackall wrote:
>
> On Fri, 2008-01-18 at 22:11 +0100, Andi Kleen wrote:
> > Chodorenko Michail <misha@xxxxxx> writes:
> >
> > > I have a laptop "Extensa 5220", with the processor Celeron based on 'core'
> > > technology.
> > > There is ~ / arch/i386/kernel/cpu/cpufreq/p4-clockmod.c in the kernel
> > > source code
> > > but there's no line identification of my CPU for apply freqency change
> > > need to add a ID line 0Ñ16
> >
> > Note that driver will likely do clock throttling on your CPU.
> > Using that is usually a bad idea because it does not actually
> > safe power. It's only intended to let the CPU cool down in some situations.
>
> Power consumption is more or less exactly equal to heat production
> (that's where the power goes, after all!), so either clock throttling
> DOES save power or it DOES NOT cool the CPU.

No actually the way it works on modern x86 CPUs is that the best
strategy for saving power is to do things quickly and then
idle longer. That means on anything that has reasonably
deep sleep modi e.g. on older server/desktop systems things might
be slightly different because they had very little power saving
features enabled, but it's definitely true for all
laptop systems from the last several years. But even
on desktop/server throttling tends to be a bad idea.

Intel style throttling makes the CPU skip cycles so the maximum built
up heat for a time unit is less, but it will run active for longer that
makes it overall take more power for a given work unit.

Here's a better description from Dominik:

http://article.gmane.org/gmane.linux.kernel.cpufreq/3497

Note the conditions he describes are quite common. Also the OP
CPU likely has C2 and even deeper sleep modi.

Another problem with throttling / p4-clockmod is that on
at least some CPUs (not necessarily P-M, but we saw this on
some P4s) is that they can create quite long user visible
latencies. You might actually get "hanging mouse pointers"
from it if you use it with an aggressive governour like ondemand.

The normal use case for Intel throttling is to just do
an emergency cool down in case the CPU fails (down to thermal
shutdown). And that is done transparently behind Linux's back.

-Andi


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/