Remove sysctl_vfs_cache_pressure assumption

The generic SPL cache shrinkers make the assumption that the
caches only contain VFS cache data and therefore should be scaled
based on vfs_cache_pressure.  This is not strictly true and it
should not be assumed.

Removing this tuning should not have any impact on the stock
behavior because vfs_cache_pressure=100 by default.  This means
that no scaling will take place.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
This commit is contained in:
Brian Behlendorf 2014-09-30 14:51:53 -04:00
parent a80d69caf0
commit aa363c5c05

View File

@ -2276,7 +2276,7 @@ __spl_kmem_cache_generic_shrinker(struct shrinker *shrink,
if ((spl_kmem_cache_reclaim & KMC_RECLAIM_ONCE) && sc->nr_to_scan) if ((spl_kmem_cache_reclaim & KMC_RECLAIM_ONCE) && sc->nr_to_scan)
return (-1); return (-1);
return MAX((alloc * sysctl_vfs_cache_pressure) / 100, 0); return (MAX(alloc, 0));
} }
SPL_SHRINKER_CALLBACK_WRAPPER(spl_kmem_cache_generic_shrinker); SPL_SHRINKER_CALLBACK_WRAPPER(spl_kmem_cache_generic_shrinker);