Re: [patch 21/21] slab defrag: Obsolete SLAB

From: Zhang, Yanmin
Date: Wed May 14 2008 - 23:29:45 EST



On Wed, 2008-05-14 at 11:03 -0700, Christoph Lameter wrote:
> On Wed, 14 May 2008, Andi Kleen wrote:
>
> > iirc profiling analysis showed that the problem was the page lock
> > serialization (in particular the slab_lock() in __slab_free). That
> > was on 2.6.24.2
>
> Do you have an URL?
>
> > I think the problem is that this atomic operation thrashes cache lines
> > around. Really counting cycles on instructions is not that interesting,
> > but minimizing the cache thrashing is. And for that it looks like slub
> > is worse.
>
> It can thrash cachelines if objects from the same slab page are freed
> simultaneously on multiple processors. That occurred in the hackbench
> regression that we addressed with the dynamic configuration of slab sizes.
hackbench regression is because of slow allocation instead of slow freeing.
With ïdynamic configuration of slab sizes, fast allocation becomes 97% (the bad
one is 68%), but fast free is always 8~9% with/without the patch.


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