Don't re-calibrate the TSC frequency if the TSC is known to run at a fixed frequency. In practice, this is likely one big nop, as re-calibration is used only for SMP=n kernels, and only for hardware that is 20+ years old, i.e. is extremely unlikely to collide with TSC_KNOWN_FREQ.
Signed-off-by: Sean Christopherson <[email protected]> --- arch/x86/kernel/tsc.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/x86/kernel/tsc.c b/arch/x86/kernel/tsc.c index c5110eb554bc..08cf6625d484 100644 --- a/arch/x86/kernel/tsc.c +++ b/arch/x86/kernel/tsc.c @@ -946,7 +946,8 @@ void recalibrate_cpu_khz(void) return; cpu_khz = x86_platform.calibrate_cpu(); - tsc_khz = x86_platform.calibrate_tsc(); + if (!boot_cpu_has(X86_FEATURE_TSC_KNOWN_FREQ)) + tsc_khz = x86_platform.calibrate_tsc(); if (tsc_khz == 0) tsc_khz = cpu_khz; else if (abs(cpu_khz - tsc_khz) * 10 > tsc_khz) -- 2.54.0.823.g6e5bcc1fc9-goog

