diff options
author | Tejun Heo <tj@kernel.org> | 2011-01-25 08:26:50 -0500 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2011-01-25 08:26:50 -0500 |
commit | 19df0c2fef010e94e90df514aaf4e73f6b80145c (patch) | |
tree | 4b0b9c10622aead0d8b658cca6c49090149a91a8 /arch/x86 | |
parent | c723fdab8aa728dc2bf0da6a0de8bb9c3f588d84 (diff) |
percpu: align percpu readmostly subsection to cacheline
Currently percpu readmostly subsection may share cachelines with other
percpu subsections which may result in unnecessary cacheline bounce
and performance degradation.
This patch adds @cacheline parameter to PERCPU() and PERCPU_VADDR()
linker macros, makes each arch linker scripts specify its cacheline
size and use it to align percpu subsections.
This is based on Shaohua's x86 only patch.
Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Shaohua Li <shaohua.li@intel.com>
Diffstat (limited to 'arch/x86')
-rw-r--r-- | arch/x86/kernel/vmlinux.lds.S | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/x86/kernel/vmlinux.lds.S b/arch/x86/kernel/vmlinux.lds.S index bf4700755184..cef446f8ac78 100644 --- a/arch/x86/kernel/vmlinux.lds.S +++ b/arch/x86/kernel/vmlinux.lds.S | |||
@@ -230,7 +230,7 @@ SECTIONS | |||
230 | * output PHDR, so the next output section - .init.text - should | 230 | * output PHDR, so the next output section - .init.text - should |
231 | * start another segment - init. | 231 | * start another segment - init. |
232 | */ | 232 | */ |
233 | PERCPU_VADDR(0, :percpu) | 233 | PERCPU_VADDR(INTERNODE_CACHE_BYTES, 0, :percpu) |
234 | #endif | 234 | #endif |
235 | 235 | ||
236 | INIT_TEXT_SECTION(PAGE_SIZE) | 236 | INIT_TEXT_SECTION(PAGE_SIZE) |
@@ -305,7 +305,7 @@ SECTIONS | |||
305 | } | 305 | } |
306 | 306 | ||
307 | #if !defined(CONFIG_X86_64) || !defined(CONFIG_SMP) | 307 | #if !defined(CONFIG_X86_64) || !defined(CONFIG_SMP) |
308 | PERCPU(THREAD_SIZE) | 308 | PERCPU(INTERNODE_CACHE_BYTES, THREAD_SIZE) |
309 | #endif | 309 | #endif |
310 | 310 | ||
311 | . = ALIGN(PAGE_SIZE); | 311 | . = ALIGN(PAGE_SIZE); |