x86/hyperv: Mark the Hyper-V TSC as unstable
authorVitaly Kuznetsov <vkuznets@redhat.com>
Wed, 19 Aug 2015 16:54:24 +0000 (09:54 -0700)
committerIngo Molnar <mingo@kernel.org>
Fri, 21 Aug 2015 06:44:38 +0000 (08:44 +0200)
commit88c9281a9fba67636ab26c1fd6afbc78a632374f
tree3533bbf23d002ee4cb2c95f3b2beca42f4e90a16
parent955381dd65654bd6f066408823691db8fa7d05bb
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