Re: [RESEND PATCH] kmemtrace: SLAB hooks.

From: eduard . munteanu
Date: Mon Jul 14 2008 - 14:38:57 EST


On Mon, Jul 14, 2008 at 09:19:48PM +0300, Pekka Enberg wrote:
> Hi Eduard-Gabriel,
>
> On Mon, 2008-07-14 at 20:42 +0300, Eduard - Gabriel Munteanu wrote:
> > This adds hooks for the SLAB allocator, to allow tracing with
> > kmemtrace.
> >
> > Signed-off-by: Eduard - Gabriel Munteanu <eduard.munteanu@xxxxxxxxxxx>
> > @@ -28,8 +29,20 @@ extern struct cache_sizes malloc_sizes[];
> > void *kmem_cache_alloc(struct kmem_cache *, gfp_t);
> > void *__kmalloc(size_t size, gfp_t flags);
> >
> > +#ifdef CONFIG_KMEMTRACE
> > +extern void *__kmem_cache_alloc(struct kmem_cache *cachep, gfp_t flags);
> > +#else
> > +static inline void *__kmem_cache_alloc(struct kmem_cache *cachep,
> > + gfp_t flags)
> > +{
> > + return kmem_cache_alloc(cachep, flags);
> > +}
> > +#endif
> > +
>
> I'm okay with this approach but then you need to do
> s/__kmem_cache_alloc/kmem_cache_alloc_trace/ or similar. In the kernel,
> it's always the *upper* level function that doesn't have the
> underscores.

Hmm, doesn't really make sense:
1. This should be called kmem_cache_alloc_notrace, not *_trace.
__kmem_cache_alloc() _disables_ tracing.
2. __kmem_cache_alloc is not really upper level now, since it's called
only in kmalloc. So it's an internal function which is not supposed to
be used by other kernel code.

Are you sure I should do this?


Eduard

--
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/