Re: [PATCH] slub: __kmalloc_node_track_caller should tracekmalloc_large_node case

From: David Rientjes
Date: Thu Apr 08 2010 - 15:03:21 EST


On Thu, 8 Apr 2010, Xiaotian Feng wrote:

> commit 94b528d (kmemtrace: SLUB hooks for caller-tracking functions)
> missed tracing kmalloc_large_node in __kmalloc_node_track_caller. We
> should trace it same as __kmalloc_node.
>
> Signed-off-by: Xiaotian Feng <dfeng@xxxxxxxxxx>
> Cc: Pekka Enberg <penberg@xxxxxxxxxxxxxx>
> Cc: Matt Mackall <mpm@xxxxxxxxxxx>
> Cc: David Rientjes <rientjes@xxxxxxxxxx>

Acked-by: David Rientjes <rientjes@xxxxxxxxxx>

> Cc: Ingo Molnar <mingo@xxxxxxx>
> Cc: Vegard Nossum <vegard.nossum@xxxxxxxxx>
> ---
> mm/slub.c | 11 +++++++++--
> 1 files changed, 9 insertions(+), 2 deletions(-)
>
> diff --git a/mm/slub.c b/mm/slub.c
> index b364844..a3a5a18 100644
> --- a/mm/slub.c
> +++ b/mm/slub.c
> @@ -3335,8 +3335,15 @@ void *__kmalloc_node_track_caller(size_t size, gfp_t gfpflags,
> struct kmem_cache *s;
> void *ret;
>
> - if (unlikely(size > SLUB_MAX_SIZE))
> - return kmalloc_large_node(size, gfpflags, node);
> + if (unlikely(size > SLUB_MAX_SIZE)) {
> + ret = kmalloc_large_node(size, gfpflags, node);
> +
> + trace_kmalloc_node(caller, ret,
> + size, PAGE_SIZE << get_order(size),
> + gfpflags, node);
> +
> + return ret;
> + }
>
> s = get_slab(size, gfpflags);
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/