]> err.no Git - linux-2.6/commitdiff
[PATCH] Don't synchronize time reading on single core AMD systems
authorAndi Kleen <ak@suse.de>
Tue, 26 Sep 2006 08:52:41 +0000 (10:52 +0200)
committerAndi Kleen <andi@basil.nowhere.org>
Tue, 26 Sep 2006 08:52:41 +0000 (10:52 +0200)
We do some additional CPU synchronization in gettimeofday et.al. to make
sure the time stamps are always monotonic over multiple CPUs. But on
single core systems that is not needed. So don't do it.

Signed-off-by: Andi Kleen <ak@suse.de>
arch/x86_64/kernel/setup.c

index 085f2e09b9dc5222a61e70a8a84db69940b51c5f..26524ce3b239a70a0eb68402a4557c478a9d40c3 100644 (file)
@@ -728,6 +728,12 @@ static void __cpuinit init_amd(struct cpuinfo_x86 *c)
 
        /* Fix cpuid4 emulation for more */
        num_cache_leaves = 3;
+
+       /* When there is only one core no need to synchronize RDTSC */
+       if (num_possible_cpus() == 1)
+               set_bit(X86_FEATURE_SYNC_RDTSC, &c->x86_capability);
+       else
+               clear_bit(X86_FEATURE_SYNC_RDTSC, &c->x86_capability);
 }
 
 static void __cpuinit detect_ht(struct cpuinfo_x86 *c)