diff options
author | Li Zefan <lizf@cn.fujitsu.com> | 2009-12-11 02:45:50 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-12-11 03:17:03 -0500 |
commit | 0bb38a5cdeb39f543657ec6fb9950343d2de6918 (patch) | |
tree | 52198d56b8f0301ae553288d2ff2c4f5d5409519 /mm | |
parent | 0f24f1287a86b198c1e4bd4ce45e8565e40ff804 (diff) |
tracing, slab: Fix no callsite ifndef CONFIG_KMEMTRACE
For slab, if CONFIG_KMEMTRACE and CONFIG_DEBUG_SLAB are not set,
__do_kmalloc() will not track callers:
# ./perf record -f -a -R -e kmem:kmalloc
^C
# ./perf trace
...
perf-2204 [000] 147.376774: kmalloc: call_site=c0529d2d ...
perf-2204 [000] 147.400997: kmalloc: call_site=c0529d2d ...
Xorg-1461 [001] 147.405413: kmalloc: call_site=0 ...
Xorg-1461 [001] 147.405609: kmalloc: call_site=0 ...
konsole-1776 [001] 147.405786: kmalloc: call_site=0 ...
Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
Reviewed-by: Pekka Enberg <penberg@cs.helsinki.fi>
Cc: Christoph Lameter <cl@linux-foundation.org>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: linux-mm@kvack.org <linux-mm@kvack.org>
Cc: Eduard - Gabriel Munteanu <eduard.munteanu@linux360.ro>
LKML-Reference: <4B21F8AE.6020804@cn.fujitsu.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'mm')
-rw-r--r-- | mm/slab.c | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -3649,7 +3649,7 @@ __do_kmalloc_node(size_t size, gfp_t flags, int node, void *caller) | |||
3649 | return ret; | 3649 | return ret; |
3650 | } | 3650 | } |
3651 | 3651 | ||
3652 | #if defined(CONFIG_DEBUG_SLAB) || defined(CONFIG_KMEMTRACE) | 3652 | #if defined(CONFIG_DEBUG_SLAB) || defined(CONFIG_TRACING) |
3653 | void *__kmalloc_node(size_t size, gfp_t flags, int node) | 3653 | void *__kmalloc_node(size_t size, gfp_t flags, int node) |
3654 | { | 3654 | { |
3655 | return __do_kmalloc_node(size, flags, node, | 3655 | return __do_kmalloc_node(size, flags, node, |
@@ -3669,7 +3669,7 @@ void *__kmalloc_node(size_t size, gfp_t flags, int node) | |||
3669 | return __do_kmalloc_node(size, flags, node, NULL); | 3669 | return __do_kmalloc_node(size, flags, node, NULL); |
3670 | } | 3670 | } |
3671 | EXPORT_SYMBOL(__kmalloc_node); | 3671 | EXPORT_SYMBOL(__kmalloc_node); |
3672 | #endif /* CONFIG_DEBUG_SLAB */ | 3672 | #endif /* CONFIG_DEBUG_SLAB || CONFIG_TRACING */ |
3673 | #endif /* CONFIG_NUMA */ | 3673 | #endif /* CONFIG_NUMA */ |
3674 | 3674 | ||
3675 | /** | 3675 | /** |
@@ -3701,7 +3701,7 @@ static __always_inline void *__do_kmalloc(size_t size, gfp_t flags, | |||
3701 | } | 3701 | } |
3702 | 3702 | ||
3703 | 3703 | ||
3704 | #if defined(CONFIG_DEBUG_SLAB) || defined(CONFIG_KMEMTRACE) | 3704 | #if defined(CONFIG_DEBUG_SLAB) || defined(CONFIG_TRACING) |
3705 | void *__kmalloc(size_t size, gfp_t flags) | 3705 | void *__kmalloc(size_t size, gfp_t flags) |
3706 | { | 3706 | { |
3707 | return __do_kmalloc(size, flags, __builtin_return_address(0)); | 3707 | return __do_kmalloc(size, flags, __builtin_return_address(0)); |