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

From: JoonSoo Kim
Date: Fri Oct 18 2013 - 11:13:01 EST


2013/10/18 Christoph Lameter <cl@xxxxxxxxx>:
> 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.

According to current slab size calculating logic, slab whose object size is
less or equal to 16 bytes use only order 0 page. So there is no problem.

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

Okay. I will try it.

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

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