Commit 9130ea06 authored by Ingo Molnar's avatar Ingo Molnar
Browse files

x86/percpu: Clean up <asm/percpu.h> vertical alignment details



 - Fix/unify misc vertical alignment inconsistencies

 - Make CPP macros look a bit more like C code by adding
   an empty line after local variable declaration blocks,
   and before final rvalue statements.

No change in code.

Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
Cc: Uros Bizjak <ubizjak@gmail.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org
parent 61d73e4f
Loading
Loading
Loading
Loading
+171 −150
Original line number Diff line number Diff line
@@ -71,6 +71,7 @@
#define arch_raw_cpu_ptr(_ptr)						\
({									\
	unsigned long tcp_ptr__ = raw_cpu_read_long(this_cpu_off);	\
									\
	tcp_ptr__ += (__force unsigned long)(_ptr);			\
	(typeof(*(_ptr)) __kernel __force *)tcp_ptr__;			\
})
@@ -166,15 +167,18 @@ do { \
#define __raw_cpu_read(size, qual, _var)				\
({									\
	__pcpu_type_##size pfo_val__;					\
									\
	asm qual (__pcpu_op2_##size("mov", __percpu_arg([var]), "%[val]") \
	    : [val] __pcpu_reg_##size("=", pfo_val__)			\
	    : [var] "m" (__my_cpu_var(_var)));				\
									\
	(typeof(_var))(unsigned long) pfo_val__;			\
})

#define __raw_cpu_write(size, qual, _var, _val)				\
do {									\
	__pcpu_type_##size pto_val__ = __pcpu_cast_##size(_val);	\
									\
	if (0) {		                                        \
		typeof(_var) pto_tmp__;					\
		pto_tmp__ = (_val);					\
@@ -196,9 +200,11 @@ do { \
#define __raw_cpu_read_stable(size, _var)				\
({									\
	__pcpu_type_##size pfo_val__;					\
									\
	asm(__pcpu_op2_##size("mov", __force_percpu_arg(a[var]), "%[val]") \
	    : [val] __pcpu_reg_##size("=", pfo_val__)			\
	    : [var] "i" (&(_var)));					\
									\
	(typeof(_var))(unsigned long) pfo_val__;			\
})

@@ -211,6 +217,7 @@ do { \
#define percpu_binary_op(size, qual, op, _var, _val)			\
do {									\
	__pcpu_type_##size pto_val__ = __pcpu_cast_##size(_val);	\
									\
	if (0) {		                                        \
		typeof(_var) pto_tmp__;					\
		pto_tmp__ = (_val);					\
@@ -230,6 +237,7 @@ do { \
	const int pao_ID__ = (__builtin_constant_p(val) &&		\
			      ((val) == 1 || (val) == -1)) ?		\
				(int)(val) : 0;				\
									\
	if (0) {							\
		typeof(var) pao_tmp__;					\
		pao_tmp__ = (val);					\
@@ -249,6 +257,7 @@ do { \
#define percpu_add_return_op(size, qual, _var, _val)			\
({									\
	__pcpu_type_##size paro_tmp__ = __pcpu_cast_##size(_val);	\
									\
	asm qual (__pcpu_op2_##size("xadd", "%[tmp]",			\
				     __percpu_arg([var]))		\
		  : [tmp] __pcpu_reg_##size("+", paro_tmp__),		\
@@ -264,7 +273,9 @@ do { \
#define raw_percpu_xchg_op(_var, _nval)					\
({									\
	typeof(_var) pxo_old__ = raw_cpu_read(_var);			\
									\
	raw_cpu_write(_var, _nval);					\
									\
	pxo_old__;							\
})

@@ -276,7 +287,9 @@ do { \
#define this_percpu_xchg_op(_var, _nval)				\
({									\
	typeof(_var) pxo_old__ = this_cpu_read(_var);			\
									\
	do { } while (!this_cpu_try_cmpxchg(_var, &pxo_old__, _nval));	\
									\
	pxo_old__;							\
})

@@ -288,12 +301,14 @@ do { \
({									\
	__pcpu_type_##size pco_old__ = __pcpu_cast_##size(_oval);	\
	__pcpu_type_##size pco_new__ = __pcpu_cast_##size(_nval);	\
									\
	asm qual (__pcpu_op2_##size("cmpxchg", "%[nval]",		\
				    __percpu_arg([var]))		\
		  : [oval] "+a" (pco_old__),				\
		    [var] "+m" (__my_cpu_var(_var))			\
		  : [nval] __pcpu_reg_##size(, pco_new__)		\
		  : "memory");						\
									\
	(typeof(_var))(unsigned long) pco_old__;			\
})

@@ -303,6 +318,7 @@ do { \
	__pcpu_type_##size *pco_oval__ = (__pcpu_type_##size *)(_ovalp); \
	__pcpu_type_##size pco_old__ = *pco_oval__;			\
	__pcpu_type_##size pco_new__ = __pcpu_cast_##size(_nval);	\
									\
	asm qual (__pcpu_op2_##size("cmpxchg", "%[nval]",		\
				    __percpu_arg([var]))		\
		  CC_SET(z)						\
@@ -313,6 +329,7 @@ do { \
		  : "memory");						\
	if (unlikely(!success))						\
		*pco_oval__ = pco_old__;				\
									\
	likely(success);						\
})

@@ -373,6 +390,7 @@ do { \
		  : "memory");						\
	if (unlikely(!success))						\
		*_oval = old__.var;					\
									\
	likely(success);						\
})

@@ -520,6 +538,7 @@ do { \
 * 32-bit kernels must fall back to generic operations.
 */
#ifdef CONFIG_X86_64

#define raw_cpu_read_8(pcp)				__raw_cpu_read(8, , pcp)
#define raw_cpu_write_8(pcp, val)			__raw_cpu_write(8, , pcp, val)

@@ -572,6 +591,7 @@ do { \
({									\
	unsigned long __percpu *addr__ =				\
		(unsigned long __percpu *)&(_var) + ((_nr) / BITS_PER_LONG); \
									\
	!!((1UL << ((_nr) % BITS_PER_LONG)) & raw_cpu_read(*addr__));	\
})

@@ -635,6 +655,7 @@ DECLARE_PER_CPU_READ_MOSTLY(unsigned long, this_cpu_off);

#define	early_per_cpu_ptr(_name)			(_name##_early_ptr)
#define	early_per_cpu_map(_name, _idx)			(_name##_early_map[_idx])

#define	early_per_cpu(_name, _cpu)					\
	*(early_per_cpu_ptr(_name) ?					\
		&early_per_cpu_ptr(_name)[_cpu] :			\
@@ -660,6 +681,6 @@ DECLARE_PER_CPU_READ_MOSTLY(unsigned long, this_cpu_off);
#define	early_per_cpu_ptr(_name)			NULL
/* no early_per_cpu_map() */

#endif /* CONFIG_SMP */
#endif /* !CONFIG_SMP */

#endif /* _ASM_X86_PERCPU_H */