aboutsummaryrefslogtreecommitdiffstats
path: root/fs/dcache.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/dcache.c')
-rw-r--r--fs/dcache.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/fs/dcache.c b/fs/dcache.c
index 0e73aa0a0e8b..678d39deb607 100644
--- a/fs/dcache.c
+++ b/fs/dcache.c
@@ -883,6 +883,11 @@ static int shrink_dcache_memory(int nr, gfp_t gfp_mask)
883 return (dentry_stat.nr_unused / 100) * sysctl_vfs_cache_pressure; 883 return (dentry_stat.nr_unused / 100) * sysctl_vfs_cache_pressure;
884} 884}
885 885
886static struct shrinker dcache_shrinker = {
887 .shrink = shrink_dcache_memory,
888 .seeks = DEFAULT_SEEKS,
889};
890
886/** 891/**
887 * d_alloc - allocate a dcache entry 892 * d_alloc - allocate a dcache entry
888 * @parent: parent of entry to allocate 893 * @parent: parent of entry to allocate
@@ -2115,7 +2120,7 @@ static void __init dcache_init(unsigned long mempages)
2115 dentry_cache = KMEM_CACHE(dentry, 2120 dentry_cache = KMEM_CACHE(dentry,
2116 SLAB_RECLAIM_ACCOUNT|SLAB_PANIC|SLAB_MEM_SPREAD); 2121 SLAB_RECLAIM_ACCOUNT|SLAB_PANIC|SLAB_MEM_SPREAD);
2117 2122
2118 set_shrinker(DEFAULT_SEEKS, shrink_dcache_memory); 2123 register_shrinker(&dcache_shrinker);
2119 2124
2120 /* Hash may have been set up in dcache_init_early */ 2125 /* Hash may have been set up in dcache_init_early */
2121 if (!hashdist) 2126 if (!hashdist)
@@ -2160,10 +2165,10 @@ void __init vfs_caches_init(unsigned long mempages)
2160 mempages -= reserve; 2165 mempages -= reserve;
2161 2166
2162 names_cachep = kmem_cache_create("names_cache", PATH_MAX, 0, 2167 names_cachep = kmem_cache_create("names_cache", PATH_MAX, 0,
2163 SLAB_HWCACHE_ALIGN|SLAB_PANIC, NULL, NULL); 2168 SLAB_HWCACHE_ALIGN|SLAB_PANIC, NULL);
2164 2169
2165 filp_cachep = kmem_cache_create("filp", sizeof(struct file), 0, 2170 filp_cachep = kmem_cache_create("filp", sizeof(struct file), 0,
2166 SLAB_HWCACHE_ALIGN|SLAB_PANIC, NULL, NULL); 2171 SLAB_HWCACHE_ALIGN|SLAB_PANIC, NULL);
2167 2172
2168 dcache_init(mempages); 2173 dcache_init(mempages);
2169 inode_init(mempages); 2174 inode_init(mempages);