mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2024-12-25 02:49:32 +03:00
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 <behlendorf1@llnl.gov> Issue #2757
This commit is contained in:
parent
60bba62814
commit
050d22b068
@ -288,34 +288,18 @@ zpl_prune_sb(struct super_block *sb, void *arg)
|
|||||||
error = -zfs_sb_prune(sb, *(unsigned long *)arg, &objects);
|
error = -zfs_sb_prune(sb, *(unsigned long *)arg, &objects);
|
||||||
ASSERT3S(error, <=, 0);
|
ASSERT3S(error, <=, 0);
|
||||||
}
|
}
|
||||||
|
#endif /* HAVE_SHRINK */
|
||||||
|
|
||||||
void
|
void
|
||||||
zpl_prune_sbs(int64_t bytes_to_scan, void *private)
|
zpl_prune_sbs(int64_t bytes_to_scan, void *private)
|
||||||
{
|
{
|
||||||
|
#ifdef HAVE_SHRINK
|
||||||
unsigned long nr_to_scan = (bytes_to_scan / sizeof (znode_t));
|
unsigned long nr_to_scan = (bytes_to_scan / sizeof (znode_t));
|
||||||
|
|
||||||
iterate_supers_type(&zpl_fs_type, zpl_prune_sb, &nr_to_scan);
|
iterate_supers_type(&zpl_fs_type, zpl_prune_sb, &nr_to_scan);
|
||||||
kmem_reap();
|
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 */
|
#endif /* HAVE_SHRINK */
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef HAVE_NR_CACHED_OBJECTS
|
#ifdef HAVE_NR_CACHED_OBJECTS
|
||||||
static int
|
static int
|
||||||
|
Loading…
Reference in New Issue
Block a user