[PATCH] x86_64: Fixup read_mostly section on internode cache line size for vSMP
authorRavikiran G Thirumalai <kiran@scalex86.org>
Fri, 7 Apr 2006 17:50:09 +0000 (19:50 +0200)
committerLinus Torvalds <torvalds@g5.osdl.org>
Sun, 9 Apr 2006 18:53:52 +0000 (11:53 -0700)
Fixup the read mostly section to start at internode cacheline boundary.

Signed-off-by: Ravikiran Thirumalai <kiran@scalex86.org>
Signed-off-by: Shai Fultheim <shai@scalex86.org>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
arch/x86_64/Kconfig
arch/x86_64/kernel/vmlinux.lds.S

index 4310b4a311a55a79326169751c93b3362d348b6f..7df2fe1844be737aee6f377906ddc39bc6c0fcf1 100644 (file)
@@ -136,6 +136,11 @@ config X86_L1_CACHE_SHIFT
        default "7" if GENERIC_CPU || MPSC
        default "6" if MK8
 
+config X86_INTERNODE_CACHE_BYTES
+       int
+       default "4096" if X86_VSMP
+       default X86_L1_CACHE_BYTES if !X86_VSMP
+
 config X86_TSC
        bool
        default y
index 39ff0708f803a208288913383fd0fdbd1b1d366a..b81f473c4a19bd4cec12f02bae4764fc30d436cf 100644 (file)
@@ -65,7 +65,7 @@ SECTIONS
   .data.cacheline_aligned : AT(ADDR(.data.cacheline_aligned) - LOAD_OFFSET) {
        *(.data.cacheline_aligned)
   }
-  . = ALIGN(CONFIG_X86_L1_CACHE_BYTES);
+  . = ALIGN(CONFIG_X86_INTERNODE_CACHE_BYTES);
   .data.read_mostly : AT(ADDR(.data.read_mostly) - LOAD_OFFSET) {
        *(.data.read_mostly)
   }