x86/xen/time: Set the X86_FEATURE_TSC_KNOWN_FREQ flag in xen_tsc_khz()
authorHayato Ohhashi <o8@vmm.dev>
Tue, 21 Jul 2020 16:12:31 +0000 (16:12 +0000)
committerIngo Molnar <mingo@kernel.org>
Sat, 25 Jul 2020 13:49:41 +0000 (15:49 +0200)
If the TSC frequency is known from the pvclock page,
the TSC frequency does not need to be recalibrated.

We can avoid recalibration by setting X86_FEATURE_TSC_KNOWN_FREQ.

Signed-off-by: Hayato Ohhashi <o8@vmm.dev>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Link: https://lore.kernel.org/r/20200721161231.6019-1-o8@vmm.dev
arch/x86/xen/time.c

index c8897aa..91f5b33 100644 (file)
@@ -39,6 +39,7 @@ static unsigned long xen_tsc_khz(void)
        struct pvclock_vcpu_time_info *info =
                &HYPERVISOR_shared_info->vcpu_info[0].time;
 
+       setup_force_cpu_cap(X86_FEATURE_TSC_KNOWN_FREQ);
        return pvclock_tsc_khz(info);
 }