Re: [PATCH] fs: buffer_head, remove kmem_cache constructor to reducememory usage under slub

From: Rik van Riel
Date: Tue Feb 09 2010 - 11:49:21 EST


On 02/09/2010 08:29 AM, Richard Kennedy wrote:
fs: Remove the buffer_head kmem_cache constructor to reduce memory usage
under slub.

When using slub, having a kmem_cache constructor forces slub to add a
free pointer to the size of the cached object, which can have a
significant impact to the number of small objects that can fit into a
slab.

As buffer_head is relatively small and we can have large numbers of
them, removing the constructor is a definite win.

On x86_64 removing the constructor gives me 39 objects/slab, 3 more than
without the patch. And on x86_32 73 objects/slab, which is 9 more.

As alloc_buffer_head() already initializes each new object there is very
little difference in actual code run.

Signed-off-by: Richard Kennedy<richard@xxxxxxxxxxxxxxx>

Reviewed-by: Rik van Riel <riel@xxxxxxxxxx>

--
All rights reversed.
--
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/