mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-04-12 12:15:52 +02:00
kernel: add hyper-v: mark tsc unstable patch
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
This commit is contained in:
@@ -199,6 +199,7 @@ endif
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux/0023-hyperv-Fix-error-return-code-in-netvsc_init_buf.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux/0024-hyperv-Fix-a-bug-in-netvsc_send.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux/0025-Drivers-hv-vmbus-Support-per-channel-driver-state.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux-hyperv_Mark_the_Hyoer-V_TSC_as_unstable.patch
|
||||
|
||||
# fix empty symbol crc's
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux-genksyms_fix_typeof_handling.patch
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
From 88c9281a9fba67636ab26c1fd6afbc78a632374f Mon Sep 17 00:00:00 2001
|
||||
From: Vitaly Kuznetsov <vkuznets@redhat.com>
|
||||
Date: Wed, 19 Aug 2015 09:54:24 -0700
|
||||
Subject: x86/hyperv: Mark the Hyper-V TSC as unstable
|
||||
|
||||
The Hyper-V top-level functional specification states, that
|
||||
"algorithms should be resilient to sudden jumps forward or
|
||||
backward in the TSC value", this means that we should consider
|
||||
TSC as unstable. In some cases tsc tests are able to detect the
|
||||
instability, it was detected in 543 out of 646 boots in my
|
||||
testing:
|
||||
|
||||
Measured 6277 cycles TSC warp between CPUs, turning off TSC clock.
|
||||
tsc: Marking TSC unstable due to check_tsc_sync_source failed
|
||||
|
||||
This is, however, just a heuristic. On Hyper-V platform there
|
||||
are two good clocksources: MSR-based hyperv_clocksource and
|
||||
recently introduced TSC page.
|
||||
|
||||
Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
|
||||
Cc: Haiyang Zhang <haiyangz@microsoft.com>
|
||||
Cc: K. Y. Srinivasan <kys@microsoft.com>
|
||||
Cc: Linus Torvalds <torvalds@linux-foundation.org>
|
||||
Cc: Peter Zijlstra <peterz@infradead.org>
|
||||
Cc: Thomas Gleixner <tglx@linutronix.de>
|
||||
Cc: devel@linuxdriverproject.org
|
||||
Link: http://lkml.kernel.org/r/1440003264-9949-1-git-send-email-vkuznets@redhat.com
|
||||
Signed-off-by: Ingo Molnar <mingo@kernel.org>
|
||||
---
|
||||
arch/x86/kernel/cpu/mshyperv.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/arch/x86/kernel/cpu/mshyperv.c b/arch/x86/kernel/cpu/mshyperv.c
|
||||
index aad4bd8..6fd023d 100644
|
||||
--- a/arch/x86/kernel/cpu/mshyperv.c
|
||||
+++ b/arch/x86/kernel/cpu/mshyperv.c
|
||||
@@ -141,6 +141,7 @@ static void __init ms_hyperv_init_platform(void)
|
||||
no_timer_check = 1;
|
||||
#endif
|
||||
|
||||
+ mark_tsc_unstable("running on Hyper-V");
|
||||
}
|
||||
|
||||
const __refconst struct hypervisor_x86 x86_hyper_ms_hyperv = {
|
||||
--
|
||||
cgit v0.12
|
||||
|
||||
Reference in New Issue
Block a user