Re: [PATCH] slab: deal with NULL pointers passed to kmem_cache_free

From: Matt Mackall
Date: Mon Mar 19 2007 - 18:02:31 EST


On Mon, Mar 19, 2007 at 02:41:00PM -0700, Andrew Morton wrote:
> On Mon, 19 Mar 2007 23:25:36 +0200 (EET)
> "Pekka Enberg" <penberg@xxxxxxxxxxxxxx> wrote:
>
> >
> > On 3/19/2007, "Andrew Morton" <akpm@xxxxxxxxxxxxxxxxxxxx> wrote:
> > > Would prefer to do:
> > >
> > > static inline void kmem_cache_free_if_not_null(struct kmem_cache *cachep,
> > > void *objp)
> > > {
> > > if (objp)
> > > kmem_cache_free(cachep, objp);
> > > }
> > >
> > > so that we don't add extra overhead to all the thousands of existing,
> > > well-behaved callsites.
> >
> > That bloats kernel text all the same
>
> But only for those callsites which choose to use it! We avoid adding a
> test-and-branch to those thousands of callsite which don't need it.
>
> This is a super-hot path.

You're right about that. Perhaps there's some clever exception
handling thing we can do to eliminate the hot-path overhead.

--
Mathematics is the supreme nostalgia of our time.
-
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/