2 * mm/percpu_up.c - dummy percpu memory allocator implementation for UP
5 #include <linux/module.h>
6 #include <linux/percpu.h>
7 #include <linux/slab.h>
9 void __percpu
*__alloc_percpu(size_t size
, size_t align
)
12 * Can't easily make larger alignment work with kmalloc. WARN
13 * on it. Larger alignment should only be used for module
14 * percpu sections on SMP for which this path isn't used.
16 WARN_ON_ONCE(align
> SMP_CACHE_BYTES
);
17 return (void __percpu __force
*)kzalloc(size
, GFP_KERNEL
);
19 EXPORT_SYMBOL_GPL(__alloc_percpu
);
21 void free_percpu(void __percpu
*p
)
23 kfree(this_cpu_ptr(p
));
25 EXPORT_SYMBOL_GPL(free_percpu
);
27 phys_addr_t
per_cpu_ptr_to_phys(void *addr
)