diff options
author | Christoph Lameter <cl@linux.com> | 2013-09-04 12:35:34 -0400 |
---|---|---|
committer | Pekka Enberg <penberg@kernel.org> | 2013-09-04 13:51:33 -0400 |
commit | f1b6eb6e6be149b40ebb013f5bfe2ac86b6f1c1b (patch) | |
tree | 245897276adc30bc17a23ba1b5364a065e2ecb74 /mm/slab_common.c | |
parent | 9de1bc875261411bf0a900e90cfe0c7a31c4917b (diff) |
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>
Diffstat (limited to 'mm/slab_common.c')
-rw-r--r-- | mm/slab_common.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/mm/slab_common.c b/mm/slab_common.c index f0410eb61741..a3443278ce3a 100644 --- a/mm/slab_common.c +++ b/mm/slab_common.c | |||
@@ -19,6 +19,7 @@ | |||
19 | #include <asm/tlbflush.h> | 19 | #include <asm/tlbflush.h> |
20 | #include <asm/page.h> | 20 | #include <asm/page.h> |
21 | #include <linux/memcontrol.h> | 21 | #include <linux/memcontrol.h> |
22 | #include <trace/events/kmem.h> | ||
22 | 23 | ||
23 | #include "slab.h" | 24 | #include "slab.h" |
24 | 25 | ||
@@ -495,6 +496,15 @@ void __init create_kmalloc_caches(unsigned long flags) | |||
495 | } | 496 | } |
496 | #endif /* !CONFIG_SLOB */ | 497 | #endif /* !CONFIG_SLOB */ |
497 | 498 | ||
499 | #ifdef CONFIG_TRACING | ||
500 | void *kmalloc_order_trace(size_t size, gfp_t flags, unsigned int order) | ||
501 | { | ||
502 | void *ret = kmalloc_order(size, flags, order); | ||
503 | trace_kmalloc(_RET_IP_, ret, size, PAGE_SIZE << order, flags); | ||
504 | return ret; | ||
505 | } | ||
506 | EXPORT_SYMBOL(kmalloc_order_trace); | ||
507 | #endif | ||
498 | 508 | ||
499 | #ifdef CONFIG_SLABINFO | 509 | #ifdef CONFIG_SLABINFO |
500 | 510 | ||