Re: 2.6.24-rc2: Network commit causes SLUB performance regressionwith tbench

From: Christoph Lameter
Date: Wed Nov 14 2007 - 13:34:13 EST


On Wed, 14 Nov 2007, David Miller wrote:

> > Still interested to know why SLAB didn't see the same thing...
>
> Yes, I wonder why too. I bet objects just got packed differently.

The objects are packed tightly in SLUB and SLUB can allocate smaller
objects (minimum is 8 SLAB mininum is 32).

On free a SLUB object goes directly back to the slab where it came from.
We have no queues in SLUB so we use the first word of the object as a
freepointer. In SLAB the objects first go onto queues and then are drained
later into the slab. On free in SLAB there is usually no need to touch the
object itself. The object pointer is simply moved onto the queue (works
well in SMP, in NUMA we have overhead identifying the queue and
overhead due to the number of queues needed).

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