unsynchronized_tsc() checks value of tsc_clocksource_reliable which is set by check_system_tsc_reliable(). It's better to move check_system_tsc_reliable() at front.
Though X86_FEATURE_CONSTANT_TSC is usually set for TSC reliable system, just in case. Signed-off-by: Zhenzhong Duan <zhenzhong.d...@oracle.com> --- arch/x86/kernel/tsc.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/x86/kernel/tsc.c b/arch/x86/kernel/tsc.c index 714dfba..a316bdd 100644 --- a/arch/x86/kernel/tsc.c +++ b/arch/x86/kernel/tsc.c @@ -1412,11 +1412,11 @@ void __init tsc_init(void) use_tsc_delay(); + check_system_tsc_reliable(); + if (unsynchronized_tsc()) mark_tsc_unstable("TSCs unsynchronized"); - check_system_tsc_reliable(); - detect_art(); } -- 1.7.3