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>
This commit is contained in:
@@ -198,7 +198,7 @@ SECTIONS {
|
||||
|
||||
/* Per-cpu data: */
|
||||
. = ALIGN(PERCPU_PAGE_SIZE);
|
||||
PERCPU_VADDR(PERCPU_ADDR, :percpu)
|
||||
PERCPU_VADDR(SMP_CACHE_BYTES, PERCPU_ADDR, :percpu)
|
||||
__phys_per_cpu_start = __per_cpu_load;
|
||||
/*
|
||||
* ensure percpu data fits
|
||||
|
Reference in New Issue
Block a user