[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20180709092243.GG2476@hirez.programming.kicks-ass.net>
Date: Mon, 9 Jul 2018 11:22:43 +0200
From: Peter Zijlstra <peterz@...radead.org>
To: Thomas Gleixner <tglx@...utronix.de>
Cc: LKML <linux-kernel@...r.kernel.org>,
Paolo Bonzini <pbonzini@...hat.com>,
Radim Krcmar <rkrcmar@...hat.com>,
Juergen Gross <jgross@...e.com>,
Pavel Tatashin <pasha.tatashin@...cle.com>,
steven.sistare@...cle.com, daniel.m.jordan@...cle.com,
x86@...nel.org, kvm@...r.kernel.org
Subject: [patch 8/7] x86/kvmclock: Avoid TSC recalibration
If the host gives us a TSC rate, assume it is good and don't try and
recalibrate things against virtual timer hardware.
Signed-off-by: Peter Zijlstra (Intel) <peterz@...radead.org>
---
--- a/arch/x86/kernel/kvmclock.c
+++ b/arch/x86/kernel/kvmclock.c
@@ -140,7 +140,16 @@ static inline void kvm_sched_clock_init(
*/
static unsigned long kvm_get_tsc_khz(void)
{
- return pvclock_tsc_khz(this_cpu_pvti());
+ unsigned long tsc_khz = pvclock_tsc_khz(this_cpu_pvti());
+
+ /*
+ * TSC frequency is reported by the host; calibration against (virtual)
+ * HPET/PM-timer in a guest is dodgy and pointless since the host already
+ * did it for us where required.
+ */
+ setup_force_cpu_cap(X86_FEATURE_TSC_KNOWN_FREQ);
+
+ return tsc_khz;
}
static void kvm_get_preset_lpj(void)
Powered by blists - more mailing lists