Messages in this thread | | | Date | Tue, 11 Dec 2007 09:43:24 +0100 | From | Ingo Molnar <> | Subject | Re: 2.6.24-rc4-git5: Reported regressions from 2.6.23 |
| |
* Arjan van de Ven <arjan@infradead.org> wrote:
> > That sounds like a big problem. > > it'll get way worse going forward. (but even on todays systems, the > tsc no longer represents frequency, but is some fixed clock totally > unrelated to cpu frequency)
X86_FEATURE_CONSTANT_TSC CPUs (all modern Intel CPUs) should be fine - we dont do any TSC frequency fixups for them. The loops_per_jiffy fixup looks like this:
if (!(freq->flags & CPUFREQ_CONST_LOOPS)) cpu_data(freq->cpu).loops_per_jiffy = cpufreq_scale(loops_per_jiffy_ref, ref_freq, freq->new);
i.e. X86_FEATURE_CONSTANT_TSC excluded. The sched_clock() scaling factor is modified like this:
if (!(freq->flags & CPUFREQ_CONST_LOOPS)) { tsc_khz = cpu_khz; preempt_disable(); set_cyc2ns_scale(cpu_khz, smp_processor_id());
so here X86_FEATURE_CONSTANT_TSC is excluded again. So the whole frequency scaling issue will become a pure legacy issue only with time.
Ingo
| |