From: Andrew Morton Date: Tue, 8 May 2007 07:23:49 +0000 (-0700) Subject: mm: shrink parent dentries when shrinking slab X-Git-Tag: v2.6.22-rc1~799 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=24c32d733dd44dbc5b9dcd0b8de58e16fdbeac76;p=linux-2.6 mm: shrink parent dentries when shrinking slab Teach the dentry slab shrinker to aggressively shrink parent dentries when shrinking the dentry cache. This is done to attempt to improve the situation where the dentry slab cache gets a lot of internal fragmentation due to pages containing directory dentries. It is expected that this change will cause some of those dentries to be reaped earlier, and with less scanning. Needs careful testing. Cc: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/fs/dcache.c b/fs/dcache.c index 681cab81b4..268da2e2bc 100644 --- a/fs/dcache.c +++ b/fs/dcache.c @@ -879,7 +879,7 @@ static int shrink_dcache_memory(int nr, gfp_t gfp_mask) if (nr) { if (!(gfp_mask & __GFP_FS)) return -1; - prune_dcache(nr, NULL, 0); + prune_dcache(nr, NULL, 1); } return (dentry_stat.nr_unused / 100) * sysctl_vfs_cache_pressure; }