[tip: x86/asm] x86/percpu: Refer __percpu_prefix to __force_percpu_prefix

From: tip-bot2 for Uros Bizjak
Date: Sun Apr 13 2025 - 04:02:20 EST


The following commit has been merged into the x86/asm branch of tip:

Commit-ID: d51faee4bd63b3b02fa6f56210ec0d84c5ccb680
Gitweb: https://git.kernel.org/tip/d51faee4bd63b3b02fa6f56210ec0d84c5ccb680
Author: Uros Bizjak <ubizjak@xxxxxxxxx>
AuthorDate: Fri, 11 Apr 2025 11:31:17 +02:00
Committer: Ingo Molnar <mingo@xxxxxxxxxx>
CommitterDate: Sun, 13 Apr 2025 09:48:24 +02:00

x86/percpu: Refer __percpu_prefix to __force_percpu_prefix

Refer __percpu_prefix to __force_percpu_prefix to avoid duplicate
definition. While there, slightly reorder definitions to a more
logical sequence, remove unneeded double quotes and move misplaced
comment to the right place.

No functional changes intended.

Signed-off-by: Uros Bizjak <ubizjak@xxxxxxxxx>
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Link: https://lore.kernel.org/r/20250411093130.81389-1-ubizjak@xxxxxxxxx
---
arch/x86/include/asm/percpu.h | 20 +++++++++++---------
1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/arch/x86/include/asm/percpu.h b/arch/x86/include/asm/percpu.h
index 5fe314a..b0d03b6 100644
--- a/arch/x86/include/asm/percpu.h
+++ b/arch/x86/include/asm/percpu.h
@@ -29,6 +29,8 @@

#ifdef CONFIG_SMP

+#define __force_percpu_prefix "%%"__stringify(__percpu_seg)":"
+
#ifdef CONFIG_CC_HAS_NAMED_AS

#ifdef __CHECKER__
@@ -36,23 +38,23 @@
# define __seg_fs __attribute__((address_space(__seg_fs)))
#endif

+#define __percpu_prefix
#define __percpu_seg_override CONCATENATE(__seg_, __percpu_seg)
-#define __percpu_prefix ""

#else /* !CONFIG_CC_HAS_NAMED_AS: */

+#define __percpu_prefix __force_percpu_prefix
#define __percpu_seg_override
-#define __percpu_prefix "%%"__stringify(__percpu_seg)":"

#endif /* CONFIG_CC_HAS_NAMED_AS */

-#define __force_percpu_prefix "%%"__stringify(__percpu_seg)":"
-#define __my_cpu_offset this_cpu_read(this_cpu_off)
-
/*
* Compared to the generic __my_cpu_offset version, the following
* saves one instruction and avoids clobbering a temp register.
- *
+ */
+#define __my_cpu_offset this_cpu_read(this_cpu_off)
+
+/*
* arch_raw_cpu_ptr should not be used in 32-bit VDSO for a 64-bit
* kernel, because games are played with CONFIG_X86_64 there and
* sizeof(this_cpu_off) becames 4.
@@ -77,9 +79,9 @@

#else /* !CONFIG_SMP: */

+#define __force_percpu_prefix
+#define __percpu_prefix
#define __percpu_seg_override
-#define __percpu_prefix ""
-#define __force_percpu_prefix ""

#define PER_CPU_VAR(var) (var)__percpu_rel

@@ -97,8 +99,8 @@
# define __my_cpu_var(var) (*__my_cpu_ptr(&(var)))
#endif

-#define __percpu_arg(x) __percpu_prefix "%" #x
#define __force_percpu_arg(x) __force_percpu_prefix "%" #x
+#define __percpu_arg(x) __percpu_prefix "%" #x

/*
* For arch-specific code, we can use direct single-insn ops (they