Skip to content

Commit 93cfa54

Browse files
ubizjakIngo Molnar
authored andcommitted
x86/percpu: Introduce raw_cpu_read_long() to reduce ifdeffery
Introduce raw_cpu_read_long() macro to slightly reduce ifdeffery in <asm/percpu.h>. No functional changes intended. Signed-off-by: Uros Bizjak <[email protected]> Signed-off-by: Ingo Molnar <[email protected]> Cc: Linus Torvalds <[email protected]> Link: https://lore.kernel.org/r/[email protected]
1 parent a3f8a3a commit 93cfa54

File tree

1 file changed

+6
-8
lines changed

1 file changed

+6
-8
lines changed

arch/x86/include/asm/percpu.h

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -59,12 +59,6 @@
5959
#define __force_percpu_prefix "%%"__stringify(__percpu_seg)":"
6060
#define __my_cpu_offset this_cpu_read(this_cpu_off)
6161

62-
#ifdef CONFIG_X86_64
63-
#define __raw_my_cpu_offset raw_cpu_read_8(this_cpu_off);
64-
#else
65-
#define __raw_my_cpu_offset raw_cpu_read_4(this_cpu_off);
66-
#endif
67-
6862
/*
6963
* Compared to the generic __my_cpu_offset version, the following
7064
* saves one instruction and avoids clobbering a temp register.
@@ -76,7 +70,7 @@
7670
#ifndef BUILD_VDSO32_64
7771
#define arch_raw_cpu_ptr(_ptr) \
7872
({ \
79-
unsigned long tcp_ptr__ = __raw_my_cpu_offset; \
73+
unsigned long tcp_ptr__ = raw_cpu_read_long(this_cpu_off); \
8074
tcp_ptr__ += (__force unsigned long)(_ptr); \
8175
(typeof(*(_ptr)) __kernel __force *)tcp_ptr__; \
8276
})
@@ -563,9 +557,13 @@ do { \
563557
#define this_cpu_xchg_8(pcp, nval) this_percpu_xchg_op(pcp, nval)
564558
#define this_cpu_cmpxchg_8(pcp, oval, nval) percpu_cmpxchg_op(8, volatile, pcp, oval, nval)
565559
#define this_cpu_try_cmpxchg_8(pcp, ovalp, nval) percpu_try_cmpxchg_op(8, volatile, pcp, ovalp, nval)
560+
561+
#define raw_cpu_read_long(pcp) raw_cpu_read_8(pcp)
566562
#else
567563
/* There is no generic 64 bit read stable operation for 32 bit targets. */
568-
#define this_cpu_read_stable_8(pcp) ({ BUILD_BUG(); (typeof(pcp))0; })
564+
#define this_cpu_read_stable_8(pcp) ({ BUILD_BUG(); (typeof(pcp))0; })
565+
566+
#define raw_cpu_read_long(pcp) raw_cpu_read_4(pcp)
569567
#endif
570568

571569
#define x86_this_cpu_constant_test_bit(_nr, _var) \

0 commit comments

Comments
 (0)