slab: restrict the number of objects in a slab
authorJoonsoo Kim <iamjoonsoo.kim@lge.com>
Mon, 2 Dec 2013 08:49:41 +0000 (17:49 +0900)
committerPekka Enberg <penberg@kernel.org>
Sat, 8 Feb 2014 10:12:06 +0000 (12:12 +0200)
commitf315e3fa1cf5b3317fc948708645fff889ce1e63
tree2c7e3db6b372504ca115c5dcd2b23a8996e4a06a
parente5c58dfdcbd36f6b4c4c92c31cf6753d22da630a
slab: restrict the number of objects in a slab

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_OBJ_MIN_SIZE ensures that the number of objects in a slab is less or
equal to 256 for a slab with 1 page.

If page size is rather larger than 4096, above assumption would be wrong.
In this case, we would fall back on 2 bytes sized index.

If minimum size of kmalloc is less than 16, we use it as minimum object
size and give up this optimization.

Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Signed-off-by: Pekka Enberg <penberg@kernel.org>
include/linux/slab.h
mm/slab.c