diff options
author | Andi Kleen <ak@suse.de> | 2006-09-26 10:52:41 +0200 |
---|---|---|
committer | Andi Kleen <andi@basil.nowhere.org> | 2006-09-26 10:52:41 +0200 |
commit | 27fbe5b28a2ffef171c6005f304ea4f80fcdcc01 (patch) | |
tree | f4eb0e75d54fd78570894d64ed8c4cfbff03bb48 | |
parent | 35d534a3ff4905c0a7bddbad0fc9df55967742c7 (diff) | |
download | op-kernel-dev-27fbe5b28a2ffef171c6005f304ea4f80fcdcc01.zip op-kernel-dev-27fbe5b28a2ffef171c6005f304ea4f80fcdcc01.tar.gz |
[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.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/x86_64/kernel/setup.c b/arch/x86_64/kernel/setup.c index e328e3e..085f2e0 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); |