From 019b4d123aa7b9fc135b532e021cfde85db7665d Mon Sep 17 00:00:00 2001 From: Richard Kennedy Date: Wed, 10 Mar 2010 15:20:33 -0800 Subject: [PATCH] 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-format-patch failed