]> granicus.if.org Git - zfs/commitdiff
Remove shrink_dcache_memory() and shrink_icache_memory()
authorBrian Behlendorf <behlendorf1@llnl.gov>
Fri, 3 Oct 2014 20:00:53 +0000 (13:00 -0700)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Fri, 17 Oct 2014 21:58:50 +0000 (14:58 -0700)
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 <behlendorf1@llnl.gov>
Issue #2757

module/zfs/zpl_super.c

index 45639a6dd5d4c8489c13ee06a6ab05105b9910c3..410030461dedae9d090462de8504fef85b4e6fb6 100644 (file)
@@ -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