lkml.org 
[lkml]   [2008]   [Jul]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [RFC PATCH 3/5] kmemtrace: SLAB hooks.
Hi Eduard-Gabriel,

On Thu, Jul 10, 2008 at 9:06 PM, Eduard - Gabriel Munteanu
<eduard.munteanu@linux360.ro> wrote:
> This adds hooks for the SLAB allocator, to allow tracing with kmemtrace.
>
> Signed-off-by: Eduard - Gabriel Munteanu <eduard.munteanu@linux360.ro>
> static inline void *kmalloc(size_t size, gfp_t flags)
> {
> + void *ret;
> +
> if (__builtin_constant_p(size)) {
> int i = 0;
>
> @@ -50,10 +53,17 @@ static inline void *kmalloc(size_t size, gfp_t flags)
> found:
> #ifdef CONFIG_ZONE_DMA
> if (flags & GFP_DMA)
> - return kmem_cache_alloc(malloc_sizes[i].cs_dmacachep,
> - flags);
> + ret = kmem_cache_alloc(malloc_sizes[i].cs_dmacachep,
> + flags | __GFP_NOTRACE);
> + else
> #endif
> - return kmem_cache_alloc(malloc_sizes[i].cs_cachep, flags);
> + ret = kmem_cache_alloc(malloc_sizes[i].cs_cachep,
> + flags | __GFP_NOTRACE);
> +
> + kmemtrace_mark_alloc(KMEMTRACE_KIND_KERNEL, _THIS_IP_, ret,
> + size, malloc_sizes[i].cs_size, flags);
> +
> + return ret;

I think this would be cleaner if you'd simply add a new
__kmem_cache_alloc() entry point in SLAB that takes the "kind" as an
argument. That way you wouldn't have to play tricks with GFP flags.


\
 
 \ /
  Last update: 2008-07-11 10:51    [W:0.093 / U:0.772 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site