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

Conflicts:
Documentation/kernel-parameters.txt

+10 -6
+5 -4
Documentation/kernel-parameters.txt
··· 2467 to facilitate early boot debugging. 2468 See also Documentation/trace/events.txt 2469 2470 - tsc= Disable clocksource-must-verify flag for TSC. 2471 Format: <string> 2472 [x86] reliable: mark tsc clocksource as reliable, this 2473 - disables clocksource verification at runtime. 2474 - Used to enable high-resolution timer mode on older 2475 - hardware, and in virtualized environment. 2476 [x86] noirqtime: Do not use TSC to do irq accounting. 2477 Used to run time disable IRQ_TIME_ACCOUNTING on any 2478 platforms where RDTSC is slow and this accounting
··· 2467 to facilitate early boot debugging. 2468 See also Documentation/trace/events.txt 2469 2470 + tsc= Disable clocksource stability checks for TSC. 2471 Format: <string> 2472 [x86] reliable: mark tsc clocksource as reliable, this 2473 + disables clocksource verification at runtime, as well 2474 + as the stability checks done at bootup. Used to enable 2475 + high-resolution timer mode on older hardware, and in 2476 + virtualized environment. 2477 [x86] noirqtime: Do not use TSC to do irq accounting. 2478 Used to run time disable IRQ_TIME_ACCOUNTING on any 2479 platforms where RDTSC is slow and this accounting
+5 -2
arch/x86/kernel/tsc.c
··· 872 873 if (boot_cpu_has(X86_FEATURE_CONSTANT_TSC)) 874 return 0; 875 /* 876 * Intel systems are normally all synchronized. 877 * Exceptions must mark TSC as unstable: ··· 882 if (boot_cpu_data.x86_vendor != X86_VENDOR_INTEL) { 883 /* assume multi socket systems are not synchronized: */ 884 if (num_possible_cpus() > 1) 885 - tsc_unstable = 1; 886 } 887 888 - return tsc_unstable; 889 } 890 891 static void __init init_tsc_clocksource(void)
··· 872 873 if (boot_cpu_has(X86_FEATURE_CONSTANT_TSC)) 874 return 0; 875 + 876 + if (tsc_clocksource_reliable) 877 + return 0; 878 /* 879 * Intel systems are normally all synchronized. 880 * Exceptions must mark TSC as unstable: ··· 879 if (boot_cpu_data.x86_vendor != X86_VENDOR_INTEL) { 880 /* assume multi socket systems are not synchronized: */ 881 if (num_possible_cpus() > 1) 882 + return 1; 883 } 884 885 + return 0; 886 } 887 888 static void __init init_tsc_clocksource(void)