Re: [ACPI] X86_PM_TIMER: /proc/cpuinfo doesn't get updated

john stultz
2004-03-16T23:28:15Z

On Tue, 2004-03-16 at 13:42, Karol Kozimor wrote:
> Thus wrote Daniele Venzano:
> > > I have a notebook with an Athlon-M CPU. I tried linux 2.6.4 with
> > > CONFIG_X86_PM_TIMER=y and I noticed that /proc/cpuinfo doesn't get
> > > updated when I switch frequency (via sysfs, using powernow-k7). The is
> > > issue seems cosmetic only, CPU frequency changes (watching
> > > temperature/battery life).
> > I can confirm, I'm seeing the same behavior. Please note that the
> > bogomips count gets updated, it's only the frequency that doesn't
> > change.
>
> Same here with a P4-M, follow-up to John and Dmitry.

Hmm. This is untested, but I think this should do the trick.

Dominik: Is there any reason I'm not seeing why cpu_khz should only be
updated when using the TSC?

thanks
-john

===== arch/i386/kernel/timers/timer_tsc.c 1.36 vs edited =====
--- 1.36/arch/i386/kernel/timers/timer_tsc.c Tue Feb 3 21:35:49 2004
+++ edited/arch/i386/kernel/timers/timer_tsc.c Tue Mar 16 15:23:49 2004
@@ -360,8 +360,8 @@
if (variable_tsc)
cpu_data[freq->cpu].loops_per_jiffy = cpufreq_scale(loops_per_jiffy_ref, ref_freq, freq->new);
#ifndef CONFIG_SMP
+ cpu_khz = cpufreq_scale(cpu_khz_ref, ref_freq, freq->new);
if (use_tsc) {
- cpu_khz = cpufreq_scale(cpu_khz_ref, ref_freq, freq->new);
if (variable_tsc) {
fast_gettimeoffset_quotient = cpufreq_scale(fast_gettimeoffset_ref, freq->new, ref_freq);
set_cyc2ns_scale(cpu_khz/1000);