/* * mm/percpu_up.c - dummy percpu memory allocator implementation for UP */ #include <linux/module.h> #include <linux/percpu.h> #include <linux/slab.h> void __percpu *__alloc_percpu(size_t size, size_t align) { /* * Can't easily make larger alignment work with kmalloc. WARN * on it. Larger alignment should only be used for module * percpu sections on SMP for which this path isn't used. */ WARN_ON_ONCE(align > SMP_CACHE_BYTES); return (void __percpu __force *)kzalloc(size, GFP_KERNEL); } EXPORT_SYMBOL_GPL(__alloc_percpu); void free_percpu(void __percpu *p) { kfree(this_cpu_ptr(p)); } EXPORT_SYMBOL_GPL(free_percpu); phys_addr_t per_cpu_ptr_to_phys(void *addr) { return __pa(addr); }