diff options
Diffstat (limited to 'arch/x86/kernel/tsc_sync.c')
-rw-r--r-- | arch/x86/kernel/tsc_sync.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/arch/x86/kernel/tsc_sync.c b/arch/x86/kernel/tsc_sync.c index 9ffb01c31c40..5977c40a138f 100644 --- a/arch/x86/kernel/tsc_sync.c +++ b/arch/x86/kernel/tsc_sync.c | |||
@@ -108,6 +108,12 @@ void __cpuinit check_tsc_sync_source(int cpu) | |||
108 | if (unsynchronized_tsc()) | 108 | if (unsynchronized_tsc()) |
109 | return; | 109 | return; |
110 | 110 | ||
111 | if (boot_cpu_has(X86_FEATURE_TSC_RELIABLE)) { | ||
112 | printk(KERN_INFO | ||
113 | "Skipping synchronization checks as TSC is reliable.\n"); | ||
114 | return; | ||
115 | } | ||
116 | |||
111 | printk(KERN_INFO "checking TSC synchronization [CPU#%d -> CPU#%d]:", | 117 | printk(KERN_INFO "checking TSC synchronization [CPU#%d -> CPU#%d]:", |
112 | smp_processor_id(), cpu); | 118 | smp_processor_id(), cpu); |
113 | 119 | ||
@@ -161,7 +167,7 @@ void __cpuinit check_tsc_sync_target(void) | |||
161 | { | 167 | { |
162 | int cpus = 2; | 168 | int cpus = 2; |
163 | 169 | ||
164 | if (unsynchronized_tsc()) | 170 | if (unsynchronized_tsc() || boot_cpu_has(X86_FEATURE_TSC_RELIABLE)) |
165 | return; | 171 | return; |
166 | 172 | ||
167 | /* | 173 | /* |