From c1aef26944ca8bc18e9f46f464c2957890c707e9 Mon Sep 17 00:00:00 2001 From: Brian Behlendorf Date: Thu, 7 Aug 2014 16:14:41 -0700 Subject: [PATCH] Set spl_kmem_cache_reclaim=0 to default Reinstate the correct default behavior of returning the number of objects in the cache for reclaim. This behavior was disabled in recent releases to do occasional reports of spinning in shrink_slabs(). Those issues have been resolved and can no longer can be reproduced. See commit 376dc35. Signed-off-by: Brian Behlendorf Signed-off-by: DHE Issue #358 Closes #379 --- module/spl/spl-kmem.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/module/spl/spl-kmem.c b/module/spl/spl-kmem.c index 6389dc5aab..0d1da43786 100644 --- a/module/spl/spl-kmem.c +++ b/module/spl/spl-kmem.c @@ -58,12 +58,13 @@ module_param(spl_kmem_cache_expire, uint, 0644); MODULE_PARM_DESC(spl_kmem_cache_expire, "By age (0x1) or low memory (0x2)"); /* - * KMC_RECLAIM_ONCE is set as the default until zfsonlinux/spl#268 is - * definitively resolved. Depending on the system configuration and - * workload this may increase the likelihood of out of memory events. - * For those cases it is advised that this option be set to zero. + * The default behavior is to report the number of objects remaining in the + * cache. This allows the Linux VM to repeatedly reclaim objects from the + * cache when memory is low satisfy other memory allocations. Alternately, + * setting this value to KMC_RECLAIM_ONCE limits how aggressively the cache + * is reclaimed. This may increase the likelihood of out of memory events. */ -unsigned int spl_kmem_cache_reclaim = KMC_RECLAIM_ONCE; +unsigned int spl_kmem_cache_reclaim = 0; module_param(spl_kmem_cache_reclaim, uint, 0644); MODULE_PARM_DESC(spl_kmem_cache_reclaim, "Single reclaim pass (0x1)");