]> git.ipfire.org Git - ipfire-2.x.git/blame - src/patches/linux-hyperv_Mark_the_Hyoer-V_TSC_as_unstable.patch
kernel: add support aes-ni support for aes-192 and 256
[ipfire-2.x.git] / src / patches / linux-hyperv_Mark_the_Hyoer-V_TSC_as_unstable.patch
CommitLineData
0c29a8ab
AF
1From 88c9281a9fba67636ab26c1fd6afbc78a632374f Mon Sep 17 00:00:00 2001
2From: Vitaly Kuznetsov <vkuznets@redhat.com>
3Date: Wed, 19 Aug 2015 09:54:24 -0700
4Subject: x86/hyperv: Mark the Hyper-V TSC as unstable
5
6The Hyper-V top-level functional specification states, that
7"algorithms should be resilient to sudden jumps forward or
8backward in the TSC value", this means that we should consider
9TSC as unstable. In some cases tsc tests are able to detect the
10instability, it was detected in 543 out of 646 boots in my
11testing:
12
13 Measured 6277 cycles TSC warp between CPUs, turning off TSC clock.
14 tsc: Marking TSC unstable due to check_tsc_sync_source failed
15
16This is, however, just a heuristic. On Hyper-V platform there
17are two good clocksources: MSR-based hyperv_clocksource and
18recently introduced TSC page.
19
20Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
21Cc: Haiyang Zhang <haiyangz@microsoft.com>
22Cc: K. Y. Srinivasan <kys@microsoft.com>
23Cc: Linus Torvalds <torvalds@linux-foundation.org>
24Cc: Peter Zijlstra <peterz@infradead.org>
25Cc: Thomas Gleixner <tglx@linutronix.de>
26Cc: devel@linuxdriverproject.org
27Link: http://lkml.kernel.org/r/1440003264-9949-1-git-send-email-vkuznets@redhat.com
28Signed-off-by: Ingo Molnar <mingo@kernel.org>
29---
30 arch/x86/kernel/cpu/mshyperv.c | 1 +
31 1 file changed, 1 insertion(+)
32
33diff --git a/arch/x86/kernel/cpu/mshyperv.c b/arch/x86/kernel/cpu/mshyperv.c
34index aad4bd8..6fd023d 100644
35--- a/arch/x86/kernel/cpu/mshyperv.c
36+++ b/arch/x86/kernel/cpu/mshyperv.c
37@@ -141,6 +141,7 @@ static void __init ms_hyperv_init_platform(void)
38 no_timer_check = 1;
39 #endif
40
41+ mark_tsc_unstable("running on Hyper-V");
42 }
43
44 const __refconst struct hypervisor_x86 x86_hyper_ms_hyperv = {
45--
46cgit v0.12
47