Re: Status of X86_P4_CLOCKMOD?

From: Dave Jones
Date: Thu Feb 23 2006 - 15:40:20 EST


On Thu, Feb 23, 2006 at 08:59:37PM +0100, Adrian Bunk wrote:

> > > > config X86_P4_CLOCKMOD
> > > > depends on EMBEDDED
> > >
> > > This one is an x86_64 only issue, and yes, it's wrong.
> >
> > That's for P4, not X86_64... And since P4 clock modulation does not provide
> > almost any energy savings it was "hidden" under embedded.
>
> But the EMBEDDED dependency is only on x86_64:
>
> arch/i386/kernel/cpu/cpufreq/Kconfig:
> config X86_P4_CLOCKMOD
> tristate "Intel Pentium 4 clock modulation"
> select CPU_FREQ_TABLE
> help
>
> arch/x86_64/kernel/cpufreq/Kconfig:
> config X86_P4_CLOCKMOD
> tristate "Intel Pentium 4 clock modulation"
> depends on EMBEDDED
> help
>
> And if the option is mostly useless, what is it good for?

It's sometimes useful in cases where the target CPU doesn't have any better
option (Speedstep/Powernow). The big misconception is that it
somehow saves power & increases battery life. Not so.
All it does is 'not do work so often'. The upside of this is
that in some situations, we generate less heat this way.

It's really of limited practical use, but occasionally, we find
some users that do find it handy. (One case I heard was someone
with a server farm that generated lots of heat, but at nighttime,
he could throttle that back, which resulted in a drop in overall
temperature in the serverroom -- no numbers to back it up though,
just anecdotes).

As to the difference of EMBEDDED.. on 32bit, there's a lot more
systems without speedstep/powernow, so it makes more sense to
make it more widely available. Nearly all AMD64/EM64T have
some form of speed-scaling which is more effective than p4-clockmod,
which is why I assume it's set that way.

Andi can probably confirm the thinking on that one, as I think
he added it when x86-64 first started supporting cpufreq.

Dave

-
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/