Re: [PATCH v2 3/5] slab: restrict the number of objects in a slab

From: Christoph Lameter
Date: Thu Oct 17 2013 - 15:01:43 EST


n Thu, 17 Oct 2013, Joonsoo Kim wrote:

> To prepare to implement byte sized index for managing the freelist
> of a slab, we should restrict the number of objects in a slab to be less
> or equal to 256, since byte only represent 256 different values.
> Setting the size of object to value equal or more than newly introduced
> SLAB_MIN_SIZE ensures that the number of objects in a slab is less or
> equal to 256 for a slab with 1 page.

Ok so that results in a mininum size object size of 2^(12 - 8) = 2^4 ==
16 bytes on x86. This is not true for order 1 pages (which SLAB also
supports) where we need 32 bytes.

Problems may arise on PPC or IA64 where the page size may be larger than
64K. With 64K we have a mininum size of 2^(16 - 8) = 256 bytes. For those
arches we may need 16 bit sized indexes. Maybe make that compile time
determined base on page size? > 64KByte results in 16 bit sized indexes?

Otherwise I like this approach. Simplifies a lot and its very cache
friendly.

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