提交 b0f96900 编写于 作者: J John Stultz

Merge remote branch 'tip/x86/tsc' into fortglx/2.6.38/tip/x86/tsc

Conflicts:
	Documentation/kernel-parameters.txt
...@@ -2467,12 +2467,13 @@ and is between 256 and 4096 characters. It is defined in the file ...@@ -2467,12 +2467,13 @@ and is between 256 and 4096 characters. It is defined in the file
to facilitate early boot debugging. to facilitate early boot debugging.
See also Documentation/trace/events.txt See also Documentation/trace/events.txt
tsc= Disable clocksource-must-verify flag for TSC. tsc= Disable clocksource stability checks for TSC.
Format: <string> Format: <string>
[x86] reliable: mark tsc clocksource as reliable, this [x86] reliable: mark tsc clocksource as reliable, this
disables clocksource verification at runtime. disables clocksource verification at runtime, as well
Used to enable high-resolution timer mode on older as the stability checks done at bootup. Used to enable
hardware, and in virtualized environment. high-resolution timer mode on older hardware, and in
virtualized environment.
[x86] noirqtime: Do not use TSC to do irq accounting. [x86] noirqtime: Do not use TSC to do irq accounting.
Used to run time disable IRQ_TIME_ACCOUNTING on any Used to run time disable IRQ_TIME_ACCOUNTING on any
platforms where RDTSC is slow and this accounting platforms where RDTSC is slow and this accounting
......
...@@ -872,6 +872,9 @@ __cpuinit int unsynchronized_tsc(void) ...@@ -872,6 +872,9 @@ __cpuinit int unsynchronized_tsc(void)
if (boot_cpu_has(X86_FEATURE_CONSTANT_TSC)) if (boot_cpu_has(X86_FEATURE_CONSTANT_TSC))
return 0; return 0;
if (tsc_clocksource_reliable)
return 0;
/* /*
* Intel systems are normally all synchronized. * Intel systems are normally all synchronized.
* Exceptions must mark TSC as unstable: * Exceptions must mark TSC as unstable:
...@@ -879,10 +882,10 @@ __cpuinit int unsynchronized_tsc(void) ...@@ -879,10 +882,10 @@ __cpuinit int unsynchronized_tsc(void)
if (boot_cpu_data.x86_vendor != X86_VENDOR_INTEL) { if (boot_cpu_data.x86_vendor != X86_VENDOR_INTEL) {
/* assume multi socket systems are not synchronized: */ /* assume multi socket systems are not synchronized: */
if (num_possible_cpus() > 1) if (num_possible_cpus() > 1)
tsc_unstable = 1; return 1;
} }
return tsc_unstable; return 0;
} }
static void __init init_tsc_clocksource(void) static void __init init_tsc_clocksource(void)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册