Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[PATCH] x86_64: Set ____cacheline_maxaligned_in_smp alignment to 128 bytes

The current value was correct before the introduction of Intel EM64T support -
but now L1_CACHE_SHIFT_MAX can be less than L1_CACHE_SHIFT, which _is_ funny!

Between the few users of ____cacheline_maxaligned_in_smp, we also have (for
example) rcu_ctrlblk, and struct zone, with zone->{lru_,}lock. I.e. we have
a lot of excess cacheline bouncing on them.

No correctness issues, obviously. So this could even be merged for 2.6.14
(I'm not a fan of this idea, though).

CC: Andi Kleen <ak@suse.de>
Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

authored by

Paolo 'Blaisorblade' Giarrusso and committed by
Linus Torvalds
bf0f2e23 8e0d4f4e

+1 -1
+1 -1
include/asm-x86_64/cache.h
··· 9 9 /* L1 cache line size */ 10 10 #define L1_CACHE_SHIFT (CONFIG_X86_L1_CACHE_SHIFT) 11 11 #define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT) 12 - #define L1_CACHE_SHIFT_MAX 6 /* largest L1 which this arch supports */ 12 + #define L1_CACHE_SHIFT_MAX 7 /* largest L1 which this arch supports */ 13 13 14 14 #endif