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 | /* |
