For the (older) CPUs that still need the refined TSC calibration, also update the sched_clock rate. Signed-off-by: Peter Zijlstra (Intel) --- arch/x86/kernel/tsc.c | 5 +++++ 1 file changed, 5 insertions(+) --- a/arch/x86/kernel/tsc.c +++ b/arch/x86/kernel/tsc.c @@ -1267,6 +1267,7 @@ static void tsc_refine_calibration_work( static int hpet; u64 tsc_stop, ref_stop, delta; unsigned long freq; + int cpu; /* Don't bother refining TSC on unstable systems */ if (check_tsc_unstable()) @@ -1317,6 +1318,10 @@ static void tsc_refine_calibration_work( /* Inform the TSC deadline clockevent devices about the recalibration */ lapic_update_tsc_freq(); + /* Update the sched_clock() rate to match the clocksource one */ + for_each_possible_cpu(cpu) + set_cyc2ns_scale(tsc_khz, cpu); + out: if (boot_cpu_has(X86_FEATURE_ART)) art_related_clocksource = &clocksource_tsc;