1 /****************************************************************************
2  ****************************************************************************
3  ***
4  ***   This header was automatically generated from a Linux kernel header
5  ***   of the same name, to make information necessary for userspace to
6  ***   call into the kernel available to libc.  It contains only constants,
7  ***   structures, and macros generated from the original header, and thus,
8  ***   contains no copyrightable information.
9  ***
10  ****************************************************************************
11  ****************************************************************************/
12 #ifndef __LINUX_PERCPU_H
13 #define __LINUX_PERCPU_H
14 #include <linux/spinlock.h>
15 #include <linux/slab.h>
16 #include <linux/smp.h>
17 #include <linux/string.h>
18 #include <asm/percpu.h>
19 
20 #ifndef PERCPU_ENOUGH_ROOM
21 #define PERCPU_ENOUGH_ROOM 32768
22 #endif
23 
24 #define get_cpu_var(var) (*({ preempt_disable(); &__get_cpu_var(var); }))
25 #define put_cpu_var(var) preempt_enable()
26 
27 #define per_cpu_ptr(ptr, cpu) ({ (void)(cpu); (ptr); })
28 
29 #define alloc_percpu(type) ((type *)(__alloc_percpu(sizeof(type))))
30 #endif
31