On Mon, 2005-11-21 at 18:35 -0700, john stultz wrote:
> Still on the TODO list:
> o Fix Frank Sorenson's c3tsc overcompensation problem
Hmmm. It looks like this might be related to the CONFIG_SMP disabling
cpu frequency changes to the cpu_khz value. This fix might solve that
issue.
thanks
-john
diff --git a/arch/i386/kernel/tsc.c b/arch/i386/kernel/tsc.c
index 91a9f7d..15f3c6b 100644
--- a/arch/i386/kernel/tsc.c
+++ b/arch/i386/kernel/tsc.c
@@ -255,9 +255,7 @@ static int time_cpufreq_notifier(struct
if (!ref_freq) {
ref_freq = freq->old;
loops_per_jiffy_ref = cpu_data[freq->cpu].loops_per_jiffy;
-#ifndef CONFIG_SMP
cpu_khz_ref = cpu_khz;
-#endif
}
if ((val == CPUFREQ_PRECHANGE && freq->old < freq->new) ||
@@ -267,9 +265,9 @@ static int time_cpufreq_notifier(struct
cpu_data[freq->cpu].loops_per_jiffy = cpufreq_scale(loops_per_jiffy_ref, ref_freq, freq->new);
if (cpu_khz) {
-#ifndef CONFIG_SMP
- cpu_khz = cpufreq_scale(cpu_khz_ref, ref_freq, freq->new);
-#endif
+ if (num_online_cpus() == 1)
+ cpu_khz = cpufreq_scale(cpu_khz_ref,
+ ref_freq, freq->new);
if (!(freq->flags & CPUFREQ_CONST_LOOPS)) {
tsc_khz = cpu_khz;
set_cyc2ns_scale(cpu_khz);
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]