From: Zach Brown Date: Fri, 3 Feb 2006 20:51:35 +0000 (+0100) Subject: [PATCH] x86_64: align per-cpu section to configured cache bytes X-Git-Tag: v2.6.16-rc3~184 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=16acc0cd8f1aac63ddf5228c5bc29cf7d31627f4;p=platform%2Fkernel%2Flinux-exynos.git [PATCH] x86_64: align per-cpu section to configured cache bytes Align the start of the per-cpu section to the configured number of bytes in a cache line. This stops a BUG_ON() from triggering in load_module() when DEFINE_PER_CPU() is used in a module and the section isn't cacheline-aligned. Rusty also found this and sent a patch in a while ago (http://lkml.org/lkml/2004/10/19/17), I don't know what came of that. Signed-off-by: Zach Brown Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds --- diff --git a/arch/x86_64/kernel/vmlinux.lds.S b/arch/x86_64/kernel/vmlinux.lds.S index b0eed1f..59316d1 100644 --- a/arch/x86_64/kernel/vmlinux.lds.S +++ b/arch/x86_64/kernel/vmlinux.lds.S @@ -173,7 +173,7 @@ SECTIONS __initramfs_start = .; .init.ramfs : AT(ADDR(.init.ramfs) - LOAD_OFFSET) { *(.init.ramfs) } __initramfs_end = .; - . = ALIGN(32); + . = ALIGN(CONFIG_X86_L1_CACHE_BYTES); __per_cpu_start = .; .data.percpu : AT(ADDR(.data.percpu) - LOAD_OFFSET) { *(.data.percpu) } __per_cpu_end = .;