summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndi Kleen <ak@suse.de>2006-09-26 10:52:41 +0200
committerAndi Kleen <andi@basil.nowhere.org>2006-09-26 10:52:41 +0200
commit27fbe5b28a2ffef171c6005f304ea4f80fcdcc01 (patch)
treef4eb0e75d54fd78570894d64ed8c4cfbff03bb48
parent[PATCH] x86: - restore i8259A eoi status on resume (diff)
downloadlinux-27fbe5b28a2ffef171c6005f304ea4f80fcdcc01.tar.xz
linux-27fbe5b28a2ffef171c6005f304ea4f80fcdcc01.zip
[PATCH] Use string instructions for Core2 copy/clear
It is faster than using a unrolled loop for the use cases the kernel cares about (cached, sizes typically < 4K) Signed-off-by: Andi Kleen <ak@suse.de>
-rw-r--r--arch/x86_64/kernel/setup.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/x86_64/kernel/setup.c b/arch/x86_64/kernel/setup.c
index e328e3eb8cbe..085f2e09b9dc 100644
--- a/arch/x86_64/kernel/setup.c
+++ b/arch/x86_64/kernel/setup.c
@@ -843,6 +843,8 @@ static void __cpuinit init_intel(struct cpuinfo_x86 *c)
if ((c->x86 == 0xf && c->x86_model >= 0x03) ||
(c->x86 == 0x6 && c->x86_model >= 0x0e))
set_bit(X86_FEATURE_CONSTANT_TSC, &c->x86_capability);
+ if (c->x86 == 6)
+ set_bit(X86_FEATURE_REP_GOOD, &c->x86_capability);
set_bit(X86_FEATURE_SYNC_RDTSC, &c->x86_capability);
c->x86_max_cores = intel_num_cpu_cores(c);