1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #define DECLARE_PER_CPU(type, val) extern type val 3 #define DEFINE_PER_CPU(type, val) type val 4 5 #define __get_cpu_var(var) var 6 #define this_cpu_ptr(var) var 7 #define this_cpu_read(var) var 8 #define this_cpu_xchg(var, val) uatomic_xchg(&var, val) 9 #define this_cpu_cmpxchg(var, old, new) uatomic_cmpxchg(&var, old, new) 10 #define per_cpu_ptr(ptr, cpu) ({ (void)(cpu); (ptr); }) 11 #define per_cpu(var, cpu) (*per_cpu_ptr(&(var), cpu))