summaryrefslogtreecommitdiff
path: root/arch/x86/kernel/tsc.c
diff options
context:
space:
mode:
authorJohn Stultz <john.stultz@linaro.org>2010-12-02 16:47:52 -0800
committerJohn Stultz <john.stultz@linaro.org>2010-12-02 16:47:52 -0800
commitb0f969009f647cd473c5e559aeec9c4229d12f87 (patch)
tree34778ededa7623d811be4ac143a098a5dc11eed5 /arch/x86/kernel/tsc.c
parent3561d43fd289f590fdae672e5eb831b8d5cf0bf6 (diff)
parentd3b8f889a220aed825accc28eb64ce283a0d51ac (diff)
Merge remote branch 'tip/x86/tsc' into fortglx/2.6.38/tip/x86/tsc
Conflicts: Documentation/kernel-parameters.txt
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 0c40d8b7241..bb64beb301d 100644
--- a/arch/x86/kernel/tsc.c
+++ b/arch/x86/kernel/tsc.c
@@ -872,6 +872,9 @@ __cpuinit int unsynchronized_tsc(void)
if (boot_cpu_has(X86_FEATURE_CONSTANT_TSC))
return 0;
+
+ if (tsc_clocksource_reliable)
+ return 0;
/*
* Intel systems are normally all synchronized.
* Exceptions must mark TSC as unstable:
@@ -879,10 +882,10 @@ __cpuinit int unsynchronized_tsc(void)
if (boot_cpu_data.x86_vendor != X86_VENDOR_INTEL) {
/* assume multi socket systems are not synchronized: */
if (num_possible_cpus() > 1)
- tsc_unstable = 1;
+ return 1;
}
- return tsc_unstable;
+ return 0;
}
static void __init init_tsc_clocksource(void)