From 050d22b06834876c3b0554647108f06a05b3ba96 Mon Sep 17 00:00:00 2001 From: Brian Behlendorf Date: Fri, 3 Oct 2014 13:00:53 -0700 Subject: [PATCH] Remove shrink_dcache_memory() and shrink_icache_memory() This functionality is optional and until Linux 3.0, which provided per-filesystem shinkers, they was never a reasonable interface. Therefore, this functionality is being dropped for earlier kernels. Signed-off-by: Brian Behlendorf Issue #2757 --- module/zfs/zpl_super.c | 22 +++------------------- 1 file changed, 3 insertions(+), 19 deletions(-) diff --git a/module/zfs/zpl_super.c b/module/zfs/zpl_super.c index 45639a6dd5d4..410030461ded 100644 --- a/module/zfs/zpl_super.c +++ b/module/zfs/zpl_super.c @@ -288,34 +288,18 @@ zpl_prune_sb(struct super_block *sb, void *arg) error = -zfs_sb_prune(sb, *(unsigned long *)arg, &objects); ASSERT3S(error, <=, 0); } +#endif /* HAVE_SHRINK */ void zpl_prune_sbs(int64_t bytes_to_scan, void *private) { +#ifdef HAVE_SHRINK unsigned long nr_to_scan = (bytes_to_scan / sizeof (znode_t)); iterate_supers_type(&zpl_fs_type, zpl_prune_sb, &nr_to_scan); kmem_reap(); -} -#else -/* - * Linux 2.6.x - 3.0 API - * - * These are best effort interfaces are provided by the SPL to induce - * the Linux VM subsystem to reclaim a fraction of the both dnode and - * inode caches. Ideally, we want to just target the zfs file systems - * however our only option is to reclaim from them all. - */ -void -zpl_prune_sbs(int64_t bytes_to_scan, void *private) -{ - unsigned long nr_to_scan = (bytes_to_scan / sizeof (znode_t)); - - shrink_dcache_memory(nr_to_scan, GFP_KERNEL); - shrink_icache_memory(nr_to_scan, GFP_KERNEL); - kmem_reap(); -} #endif /* HAVE_SHRINK */ +} #ifdef HAVE_NR_CACHED_OBJECTS static int