From: Richard Kennedy Date: Wed, 10 Mar 2010 23:20:33 +0000 (-0800) Subject: fs: buffer_head: remove kmem_cache constructor to reduce memory usage under slub X-Git-Tag: v2.6.34-rc2~275 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=019b4d123aa7b9fc135b532e021cfde85db7665d;p=pandora-kernel.git fs: buffer_head: remove 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 Cc: Alexander Viro Cc: Jens Axboe Acked-by: Nick Piggin Cc: "Theodore Ts'o" Reviewed-by: Rik van Riel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- Reading git-diff-tree failed