mm/sl[aou]b: Move kmallocXXX functions to common code
The kmalloc* functions of all slab allcoators are similar now so lets move them into slab.h. This requires some function naming changes in slob. As a results of this patch there is a common set of functions for all allocators. Also means that kmalloc_large() is now available in general to perform large order allocations that go directly via the page allocator. kmalloc_large() can be substituted if kmalloc() throws warnings because of too large allocations. kmalloc_large() has exactly the same semantics as kmalloc but can only used for allocations > PAGE_SIZE. Signed-off-by: Christoph Lameter <cl@linux.com> Signed-off-by: Pekka Enberg <penberg@kernel.org>
This commit is contained in:

committed by
Pekka Enberg

parent
9de1bc8752
commit
f1b6eb6e6b
@@ -19,6 +19,7 @@
|
||||
#include <asm/tlbflush.h>
|
||||
#include <asm/page.h>
|
||||
#include <linux/memcontrol.h>
|
||||
#include <trace/events/kmem.h>
|
||||
|
||||
#include "slab.h"
|
||||
|
||||
@@ -495,6 +496,15 @@ void __init create_kmalloc_caches(unsigned long flags)
|
||||
}
|
||||
#endif /* !CONFIG_SLOB */
|
||||
|
||||
#ifdef CONFIG_TRACING
|
||||
void *kmalloc_order_trace(size_t size, gfp_t flags, unsigned int order)
|
||||
{
|
||||
void *ret = kmalloc_order(size, flags, order);
|
||||
trace_kmalloc(_RET_IP_, ret, size, PAGE_SIZE << order, flags);
|
||||
return ret;
|
||||
}
|
||||
EXPORT_SYMBOL(kmalloc_order_trace);
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_SLABINFO
|
||||
|
||||
|
Reference in New Issue
Block a user