Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

x86/percpu: Unify __pcpu_op{1,2}_N() macros to __pcpu_op_N()

Unify __pcpu_op1_N() and __pcpu_op2_N() macros to __pcpu_op_N()
by applying the macro only to asm mnemonic, not to the mnemonic
plus its arguments.

No functional change intended.

Signed-off-by: Uros Bizjak <ubizjak@gmail.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Link: https://lore.kernel.org/r/20250224071648.15913-1-ubizjak@gmail.com

authored by

Uros Bizjak and committed by
Ingo Molnar
d40459cc dc8bd769

+18 -20
+18 -20
arch/x86/include/asm/percpu.h
··· 106 106 #define __pcpu_cast_4(val) ((u32)(((unsigned long) val) & 0xffffffff)) 107 107 #define __pcpu_cast_8(val) ((u64)(val)) 108 108 109 - #define __pcpu_op1_1(op, dst) op "b " dst 110 - #define __pcpu_op1_2(op, dst) op "w " dst 111 - #define __pcpu_op1_4(op, dst) op "l " dst 112 - #define __pcpu_op1_8(op, dst) op "q " dst 113 - 114 - #define __pcpu_op2_1(op, src, dst) op "b " src ", " dst 115 - #define __pcpu_op2_2(op, src, dst) op "w " src ", " dst 116 - #define __pcpu_op2_4(op, src, dst) op "l " src ", " dst 117 - #define __pcpu_op2_8(op, src, dst) op "q " src ", " dst 109 + #define __pcpu_op_1(op) op "b " 110 + #define __pcpu_op_2(op) op "w " 111 + #define __pcpu_op_4(op) op "l " 112 + #define __pcpu_op_8(op) op "q " 118 113 119 114 #define __pcpu_reg_1(mod, x) mod "q" (x) 120 115 #define __pcpu_reg_2(mod, x) mod "r" (x) ··· 141 146 ({ \ 142 147 __pcpu_type_##size pfo_val__; \ 143 148 \ 144 - asm qual (__pcpu_op2_##size("mov", __percpu_arg([var]), "%[val]") \ 149 + asm qual (__pcpu_op_##size("mov") \ 150 + __percpu_arg([var]) ", %[val]" \ 145 151 : [val] __pcpu_reg_##size("=", pfo_val__) \ 146 152 : [var] "m" (__my_cpu_var(_var))); \ 147 153 \ ··· 158 162 pto_tmp__ = (_val); \ 159 163 (void)pto_tmp__; \ 160 164 } \ 161 - asm qual(__pcpu_op2_##size("mov", "%[val]", __percpu_arg([var])) \ 165 + asm qual (__pcpu_op_##size("mov") "%[val], " \ 166 + __percpu_arg([var]) \ 162 167 : [var] "=m" (__my_cpu_var(_var)) \ 163 168 : [val] __pcpu_reg_imm_##size(pto_val__)); \ 164 169 } while (0) ··· 176 179 ({ \ 177 180 __pcpu_type_##size pfo_val__; \ 178 181 \ 179 - asm(__pcpu_op2_##size("mov", __force_percpu_arg(a[var]), "%[val]") \ 182 + asm(__pcpu_op_##size("mov") \ 183 + __force_percpu_arg(a[var]) ", %[val]" \ 180 184 : [val] __pcpu_reg_##size("=", pfo_val__) \ 181 185 : [var] "i" (&(_var))); \ 182 186 \ ··· 186 188 187 189 #define percpu_unary_op(size, qual, op, _var) \ 188 190 ({ \ 189 - asm qual (__pcpu_op1_##size(op, __percpu_arg([var])) \ 191 + asm qual (__pcpu_op_##size(op) __percpu_arg([var]) \ 190 192 : [var] "+m" (__my_cpu_var(_var))); \ 191 193 }) 192 194 ··· 199 201 pto_tmp__ = (_val); \ 200 202 (void)pto_tmp__; \ 201 203 } \ 202 - asm qual(__pcpu_op2_##size(op, "%[val]", __percpu_arg([var])) \ 204 + asm qual (__pcpu_op_##size(op) "%[val], " __percpu_arg([var]) \ 203 205 : [var] "+m" (__my_cpu_var(_var)) \ 204 206 : [val] __pcpu_reg_imm_##size(pto_val__)); \ 205 207 } while (0) ··· 235 237 ({ \ 236 238 __pcpu_type_##size paro_tmp__ = __pcpu_cast_##size(_val); \ 237 239 \ 238 - asm qual (__pcpu_op2_##size("xadd", "%[tmp]", \ 239 - __percpu_arg([var])) \ 240 + asm qual (__pcpu_op_##size("xadd") "%[tmp], " \ 241 + __percpu_arg([var]) \ 240 242 : [tmp] __pcpu_reg_##size("+", paro_tmp__), \ 241 243 [var] "+m" (__my_cpu_var(_var)) \ 242 244 : : "memory"); \ ··· 279 281 __pcpu_type_##size pco_old__ = __pcpu_cast_##size(_oval); \ 280 282 __pcpu_type_##size pco_new__ = __pcpu_cast_##size(_nval); \ 281 283 \ 282 - asm qual (__pcpu_op2_##size("cmpxchg", "%[nval]", \ 283 - __percpu_arg([var])) \ 284 + asm qual (__pcpu_op_##size("cmpxchg") "%[nval], " \ 285 + __percpu_arg([var]) \ 284 286 : [oval] "+a" (pco_old__), \ 285 287 [var] "+m" (__my_cpu_var(_var)) \ 286 288 : [nval] __pcpu_reg_##size(, pco_new__) \ ··· 296 298 __pcpu_type_##size pco_old__ = *pco_oval__; \ 297 299 __pcpu_type_##size pco_new__ = __pcpu_cast_##size(_nval); \ 298 300 \ 299 - asm qual (__pcpu_op2_##size("cmpxchg", "%[nval]", \ 300 - __percpu_arg([var])) \ 301 + asm qual (__pcpu_op_##size("cmpxchg") "%[nval], " \ 302 + __percpu_arg([var]) \ 301 303 CC_SET(z) \ 302 304 : CC_OUT(z) (success), \ 303 305 [oval] "+a" (pco_old__), \