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/alpha | |
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/alpha')
-rw-r--r-- | arch/alpha/kernel/vmlinux.lds.S | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/alpha/kernel/vmlinux.lds.S b/arch/alpha/kernel/vmlinux.lds.S index 003ef4c02585..173518f8c8bb 100644 --- a/arch/alpha/kernel/vmlinux.lds.S +++ b/arch/alpha/kernel/vmlinux.lds.S | |||
@@ -38,7 +38,7 @@ SECTIONS | |||
38 | __init_begin = ALIGN(PAGE_SIZE); | 38 | __init_begin = ALIGN(PAGE_SIZE); |
39 | INIT_TEXT_SECTION(PAGE_SIZE) | 39 | INIT_TEXT_SECTION(PAGE_SIZE) |
40 | INIT_DATA_SECTION(16) | 40 | INIT_DATA_SECTION(16) |
41 | PERCPU(PAGE_SIZE) | 41 | PERCPU(64, PAGE_SIZE) |
42 | /* Align to THREAD_SIZE rather than PAGE_SIZE here so any padding page | 42 | /* Align to THREAD_SIZE rather than PAGE_SIZE here so any padding page |
43 | needed for the THREAD_SIZE aligned init_task gets freed after init */ | 43 | needed for the THREAD_SIZE aligned init_task gets freed after init */ |
44 | . = ALIGN(THREAD_SIZE); | 44 | . = ALIGN(THREAD_SIZE); |