diff options
author | John Stultz <john.stultz@linaro.org> | 2010-12-02 19:47:52 -0500 |
---|---|---|
committer | John Stultz <john.stultz@linaro.org> | 2010-12-02 19:47:52 -0500 |
commit | b0f969009f647cd473c5e559aeec9c4229d12f87 (patch) | |
tree | 34778ededa7623d811be4ac143a098a5dc11eed5 | |
parent | 3561d43fd289f590fdae672e5eb831b8d5cf0bf6 (diff) | |
parent | d3b8f889a220aed825accc28eb64ce283a0d51ac (diff) |
Merge remote branch 'tip/x86/tsc' into fortglx/2.6.38/tip/x86/tsc
Conflicts:
Documentation/kernel-parameters.txt
-rw-r--r-- | Documentation/kernel-parameters.txt | 9 | ||||
-rw-r--r-- | arch/x86/kernel/tsc.c | 7 |
2 files changed, 10 insertions, 6 deletions
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt index 92e83e53148f..c7c8eca5b2b3 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt | |||
@@ -2467,12 +2467,13 @@ and is between 256 and 4096 characters. It is defined in the file | |||
2467 | to facilitate early boot debugging. | 2467 | to facilitate early boot debugging. |
2468 | See also Documentation/trace/events.txt | 2468 | See also Documentation/trace/events.txt |
2469 | 2469 | ||
2470 | tsc= Disable clocksource-must-verify flag for TSC. | 2470 | tsc= Disable clocksource stability checks for TSC. |
2471 | Format: <string> | 2471 | Format: <string> |
2472 | [x86] reliable: mark tsc clocksource as reliable, this | 2472 | [x86] reliable: mark tsc clocksource as reliable, this |
2473 | disables clocksource verification at runtime. | 2473 | disables clocksource verification at runtime, as well |
2474 | Used to enable high-resolution timer mode on older | 2474 | as the stability checks done at bootup. Used to enable |
2475 | hardware, and in virtualized environment. | 2475 | high-resolution timer mode on older hardware, and in |
2476 | virtualized environment. | ||
2476 | [x86] noirqtime: Do not use TSC to do irq accounting. | 2477 | [x86] noirqtime: Do not use TSC to do irq accounting. |
2477 | Used to run time disable IRQ_TIME_ACCOUNTING on any | 2478 | Used to run time disable IRQ_TIME_ACCOUNTING on any |
2478 | platforms where RDTSC is slow and this accounting | 2479 | platforms where RDTSC is slow and this accounting |
diff --git a/arch/x86/kernel/tsc.c b/arch/x86/kernel/tsc.c index 0c40d8b72416..bb64beb301d9 100644 --- a/arch/x86/kernel/tsc.c +++ b/arch/x86/kernel/tsc.c | |||
@@ -872,6 +872,9 @@ __cpuinit int unsynchronized_tsc(void) | |||
872 | 872 | ||
873 | if (boot_cpu_has(X86_FEATURE_CONSTANT_TSC)) | 873 | if (boot_cpu_has(X86_FEATURE_CONSTANT_TSC)) |
874 | return 0; | 874 | return 0; |
875 | |||
876 | if (tsc_clocksource_reliable) | ||
877 | return 0; | ||
875 | /* | 878 | /* |
876 | * Intel systems are normally all synchronized. | 879 | * Intel systems are normally all synchronized. |
877 | * Exceptions must mark TSC as unstable: | 880 | * Exceptions must mark TSC as unstable: |
@@ -879,10 +882,10 @@ __cpuinit int unsynchronized_tsc(void) | |||
879 | if (boot_cpu_data.x86_vendor != X86_VENDOR_INTEL) { | 882 | if (boot_cpu_data.x86_vendor != X86_VENDOR_INTEL) { |
880 | /* assume multi socket systems are not synchronized: */ | 883 | /* assume multi socket systems are not synchronized: */ |
881 | if (num_possible_cpus() > 1) | 884 | if (num_possible_cpus() > 1) |
882 | tsc_unstable = 1; | 885 | return 1; |
883 | } | 886 | } |
884 | 887 | ||
885 | return tsc_unstable; | 888 | return 0; |
886 | } | 889 | } |
887 | 890 | ||
888 | static void __init init_tsc_clocksource(void) | 891 | static void __init init_tsc_clocksource(void) |