slub: Do not cross cacheline boundaries for very small objects
authorNick Piggin <npiggin@suse.de>
Wed, 5 Mar 2008 22:05:56 +0000 (14:05 -0800)
committerChristoph Lameter <clameter@sgi.com>
Fri, 7 Mar 2008 00:21:50 +0000 (16:21 -0800)
commitb6210386787728b84db25adc4f1eba70440a4c73
tree22702da1d1168c50cd56044be6cf68a0c093471e
parent1c61fc40fc264059ff41a614ed2d899127288281
slub: Do not cross cacheline boundaries for very small objects

SLUB should pack even small objects nicely into cachelines if that is what
has been asked for. Use the same algorithm as SLAB for this.

The effect of this patch for a system with a cacheline size of 64
bytes is that the 24 byte sized slab caches will now put exactly
2 objects into a cacheline instead of 3 with some overlap into
the next cacheline. This reduces the object density in a 4k slab
from 170 to 128 objects (same as SLAB).

Signed-off-by: Nick Piggin <npiggin@suse.de>
Signed-off-by: Christoph Lameter <clameter@sgi.com>
mm/slub.c