aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Documentation/kernel-parameters.txt9
-rw-r--r--arch/x86/kernel/tsc.c7
2 files changed, 10 insertions, 6 deletions
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
index 7936b801fe6a..4c6b4150266d 100644
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -2484,12 +2484,13 @@ and is between 256 and 4096 characters. It is defined in the file
2484 Format: 2484 Format:
2485 <io>,<irq>,<dma>,<dma2>,<sb_io>,<sb_irq>,<sb_dma>,<mpu_io>,<mpu_irq> 2485 <io>,<irq>,<dma>,<dma2>,<sb_io>,<sb_irq>,<sb_dma>,<mpu_io>,<mpu_irq>
2486 2486
2487 tsc= Disable clocksource-must-verify flag for TSC. 2487 tsc= Disable clocksource stability checks for TSC.
2488 Format: <string> 2488 Format: <string>
2489 [x86] reliable: mark tsc clocksource as reliable, this 2489 [x86] reliable: mark tsc clocksource as reliable, this
2490 disables clocksource verification at runtime. 2490 disables clocksource verification at runtime, as well
2491 Used to enable high-resolution timer mode on older 2491 as the stability checks done at bootup. Used to enable
2492 hardware, and in virtualized environment. 2492 high-resolution timer mode on older hardware, and in
2493 virtualized environment.
2493 2494
2494 turbografx.map[2|3]= [HW,JOY] 2495 turbografx.map[2|3]= [HW,JOY]
2495 TurboGraFX parallel port interface 2496 TurboGraFX parallel port interface
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)