1/* 2 * mm/percpu_up.c - dummy percpu memory allocator implementation for UP 3 */ 4 5#include <linux/module.h> 6#include <linux/percpu.h> 7#include <linux/slab.h> 8 9void __percpu *__alloc_percpu(size_t size, size_t align) 10{ 11 /* 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. 15 */ 16 WARN_ON_ONCE(align > SMP_CACHE_BYTES); 17 return kzalloc(size, GFP_KERNEL); 18} 19EXPORT_SYMBOL_GPL(__alloc_percpu); 20 21void free_percpu(void __percpu *p) 22{ 23 kfree(p); 24} 25EXPORT_SYMBOL_GPL(free_percpu); 26 27phys_addr_t per_cpu_ptr_to_phys(void *addr) 28{ 29 return __pa(addr); 30} 31