x86/vmware: Avoid TSC recalibration when frequency is known
authorAlexey Makhalov <amakhalov@vmware.com>
Tue, 5 Jan 2021 00:47:52 +0000 (16:47 -0800)
committerThomas Gleixner <tglx@linutronix.de>
Sun, 28 Mar 2021 19:11:43 +0000 (21:11 +0200)
When the TSC frequency is known because it is retrieved from the
hypervisor, skip TSC refined calibration by setting X86_FEATURE_TSC_KNOWN_FREQ.

Signed-off-by: Alexey Makhalov <amakhalov@vmware.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/20210105004752.131069-1-amakhalov@vmware.com
arch/x86/kernel/cpu/vmware.c

index c6ede3b3d302d3fb28222f0f398e5afb6a3ca336..83164110ccc58cacb846d14de31975ccf7e98cd7 100644 (file)
@@ -378,6 +378,8 @@ static void __init vmware_set_capabilities(void)
 {
        setup_force_cpu_cap(X86_FEATURE_CONSTANT_TSC);
        setup_force_cpu_cap(X86_FEATURE_TSC_RELIABLE);
+       if (vmware_tsc_khz)
+               setup_force_cpu_cap(X86_FEATURE_TSC_KNOWN_FREQ);
        if (vmware_hypercall_mode == CPUID_VMWARE_FEATURES_ECX_VMCALL)
                setup_force_cpu_cap(X86_FEATURE_VMCALL);
        else if (vmware_hypercall_mode == CPUID_VMWARE_FEATURES_ECX_VMMCALL)