Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6ea0c34d authored by Mike Frysinger's avatar Mike Frysinger Committed by Tejun Heo
Browse files

percpu: Unify input section names



The two percpu helper macros have the section names duplicated.  So create
a new define to merge the two.  This also allows arches who need to link
things more directly themselves to avoid duplicating the input sections in
their linker script.

Signed-off-by: default avatarMike Frysinger <vapier@gentoo.org>
Signed-off-by: default avatarTejun Heo <tj@kernel.org>
parent 5f55924d
Loading
Loading
Loading
Loading
+24 −20
Original line number Original line Diff line number Diff line
@@ -687,6 +687,28 @@
	*(.discard.*)							\
	*(.discard.*)							\
	}
	}


/**
 * PERCPU_INPUT - the percpu input sections
 * @cacheline: cacheline size
 *
 * The core percpu section names and core symbols which do not rely
 * directly upon load addresses.
 *
 * @cacheline is used to align subsections to avoid false cacheline
 * sharing between subsections for different purposes.
 */
#define PERCPU_INPUT(cacheline)						\
	VMLINUX_SYMBOL(__per_cpu_start) = .;				\
	*(.data..percpu..first)						\
	. = ALIGN(PAGE_SIZE);						\
	*(.data..percpu..page_aligned)					\
	. = ALIGN(cacheline);						\
	*(.data..percpu..readmostly)					\
	. = ALIGN(cacheline);						\
	*(.data..percpu)						\
	*(.data..percpu..shared_aligned)				\
	VMLINUX_SYMBOL(__per_cpu_end) = .;

/**
/**
 * PERCPU_VADDR - define output section for percpu area
 * PERCPU_VADDR - define output section for percpu area
 * @cacheline: cacheline size
 * @cacheline: cacheline size
@@ -715,16 +737,7 @@
	VMLINUX_SYMBOL(__per_cpu_load) = .;				\
	VMLINUX_SYMBOL(__per_cpu_load) = .;				\
	.data..percpu vaddr : AT(VMLINUX_SYMBOL(__per_cpu_load)		\
	.data..percpu vaddr : AT(VMLINUX_SYMBOL(__per_cpu_load)		\
				- LOAD_OFFSET) {			\
				- LOAD_OFFSET) {			\
		VMLINUX_SYMBOL(__per_cpu_start) = .;			\
		PERCPU_INPUT(cacheline)					\
		*(.data..percpu..first)					\
		. = ALIGN(PAGE_SIZE);					\
		*(.data..percpu..page_aligned)				\
		. = ALIGN(cacheline);					\
		*(.data..percpu..readmostly)				\
		. = ALIGN(cacheline);					\
		*(.data..percpu)					\
		*(.data..percpu..shared_aligned)			\
		VMLINUX_SYMBOL(__per_cpu_end) = .;			\
	} phdr								\
	} phdr								\
	. = VMLINUX_SYMBOL(__per_cpu_load) + SIZEOF(.data..percpu);
	. = VMLINUX_SYMBOL(__per_cpu_load) + SIZEOF(.data..percpu);


@@ -745,16 +758,7 @@
	. = ALIGN(align);						\
	. = ALIGN(align);						\
	.data..percpu	: AT(ADDR(.data..percpu) - LOAD_OFFSET) {	\
	.data..percpu	: AT(ADDR(.data..percpu) - LOAD_OFFSET) {	\
		VMLINUX_SYMBOL(__per_cpu_load) = .;			\
		VMLINUX_SYMBOL(__per_cpu_load) = .;			\
		VMLINUX_SYMBOL(__per_cpu_start) = .;			\
		PERCPU_INPUT(cacheline)					\
		*(.data..percpu..first)					\
		. = ALIGN(PAGE_SIZE);					\
		*(.data..percpu..page_aligned)				\
		. = ALIGN(cacheline);					\
		*(.data..percpu..readmostly)				\
		. = ALIGN(cacheline);					\
		*(.data..percpu)					\
		*(.data..percpu..shared_aligned)			\
		VMLINUX_SYMBOL(__per_cpu_end) = .;			\
	}
	}