Re: [RFC PATCH 4/5] kmemtrace: SLUB hooks.

From: Eduard - Gabriel Munteanu
Date: Fri Jul 11 2008 - 16:20:57 EST


On Fri, 11 Jul 2008 11:45:59 +0300
"Pekka Enberg" <penberg@xxxxxxxxxxxxxx> wrote:

> Hi Eduard-Gabriel,
>
> On Thu, Jul 10, 2008 at 9:06 PM, Eduard - Gabriel Munteanu
> <eduard.munteanu@xxxxxxxxxxx> wrote:
> > This adds hooks for the SLUB allocator, to allow tracing with
> > kmemtrace.
> >
> > Signed-off-by: Eduard - Gabriel Munteanu
> > <eduard.munteanu@xxxxxxxxxxx>
>
> > @@ -205,7 +206,13 @@ void *__kmalloc(size_t size, gfp_t flags);
> >
> > static __always_inline void *kmalloc_large(size_t size, gfp_t
> > flags) {
> > - return (void *)__get_free_pages(flags | __GFP_COMP,
> > get_order(size));
> > + unsigned int order = get_order(size);
> > + void *ret = (void *) __get_free_pages(flags, order);
> > +
> > + kmemtrace_mark_alloc(KMEMTRACE_KIND_KERNEL, _THIS_IP_, ret,
> > + size, PAGE_SIZE << order, flags);
>
> Oh, I missed this on the first review. Here we have, like in SLOB,
> page allocator pass-through, so wouldn't KIND_PAGES be more
> appropriate?

The rationale was to be able to trace how kmalloc()s perform, no matter
what the allocator does behind the scenes. Presumably, the developer
would know what kmalloc() really does with an allocation request.

Does this sound okay?


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/