xref: /linux-6.15/tools/testing/shared/linux/percpu.h (revision 74579d8d)
1*74579d8dSLorenzo Stoakes /* SPDX-License-Identifier: GPL-2.0 */
2*74579d8dSLorenzo Stoakes #define DECLARE_PER_CPU(type, val) extern type val
3*74579d8dSLorenzo Stoakes #define DEFINE_PER_CPU(type, val) type val
4*74579d8dSLorenzo Stoakes 
5*74579d8dSLorenzo Stoakes #define __get_cpu_var(var)	var
6*74579d8dSLorenzo Stoakes #define this_cpu_ptr(var)	var
7*74579d8dSLorenzo Stoakes #define this_cpu_read(var)	var
8*74579d8dSLorenzo Stoakes #define this_cpu_xchg(var, val)		uatomic_xchg(&var, val)
9*74579d8dSLorenzo Stoakes #define this_cpu_cmpxchg(var, old, new)	uatomic_cmpxchg(&var, old, new)
10*74579d8dSLorenzo Stoakes #define per_cpu_ptr(ptr, cpu)   ({ (void)(cpu); (ptr); })
11*74579d8dSLorenzo Stoakes #define per_cpu(var, cpu)	(*per_cpu_ptr(&(var), cpu))
12