aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/tsc.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/kernel/tsc.c')
-rw-r--r--arch/x86/kernel/tsc.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/x86/kernel/tsc.c b/arch/x86/kernel/tsc.c
index 71f4368b357e..648fb269e5d1 100644
--- a/arch/x86/kernel/tsc.c
+++ b/arch/x86/kernel/tsc.c
@@ -825,6 +825,9 @@ __cpuinit int unsynchronized_tsc(void)
825 825
826 if (boot_cpu_has(X86_FEATURE_CONSTANT_TSC)) 826 if (boot_cpu_has(X86_FEATURE_CONSTANT_TSC))
827 return 0; 827 return 0;
828
829 if (tsc_clocksource_reliable)
830 return 0;
828 /* 831 /*
829 * Intel systems are normally all synchronized. 832 * Intel systems are normally all synchronized.
830 * Exceptions must mark TSC as unstable: 833 * Exceptions must mark TSC as unstable:
@@ -832,10 +835,10 @@ __cpuinit int unsynchronized_tsc(void)
832 if (boot_cpu_data.x86_vendor != X86_VENDOR_INTEL) { 835 if (boot_cpu_data.x86_vendor != X86_VENDOR_INTEL) {
833 /* assume multi socket systems are not synchronized: */ 836 /* assume multi socket systems are not synchronized: */
834 if (num_possible_cpus() > 1) 837 if (num_possible_cpus() > 1)
835 tsc_unstable = 1; 838 return 1;
836 } 839 }
837 840
838 return tsc_unstable; 841 return 0;
839} 842}
840 843
841static void __init init_tsc_clocksource(void) 844static void __init init_tsc_clocksource(void)