From 8775fe0a40706b6999aa737fba1c162ce08b8ade Mon Sep 17 00:00:00 2001 From: Niu Yawei Date: Thu, 23 Feb 2012 21:21:51 -0800 Subject: [PATCH] LU-1128 ldlm: return -1 for server pool shrinker For ldlm server pool shrinker, we just use it to decrease SLV, but never reclaim any memory directly, so it should always return -1 to inform the kernel to break the shrink loop. Signed-off-by: Niu Yawei Change-Id: I17f51ac84eb0b8c70b2cee9ac7eeca34647c1990 Reviewed-on: http://review.whamcloud.com/2184 Tested-by: Hudson Reviewed-by: Andreas Dilger Tested-by: Maloo Reviewed-by: Oleg Drokin --- lustre/ldlm/ldlm_pool.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lustre/ldlm/ldlm_pool.c b/lustre/ldlm/ldlm_pool.c index 0864f74..1f8f829 100644 --- a/lustre/ldlm/ldlm_pool.c +++ b/lustre/ldlm/ldlm_pool.c @@ -1150,7 +1150,9 @@ static int ldlm_pools_shrink(ldlm_side_t client, int nr, ldlm_namespace_put(ns); } cl_env_reexit(cookie); - return cached; + /* we only decrease the SLV in server pools shrinker, return -1 to + * kernel to avoid needless loop. LU-1128 */ + return (client == LDLM_NAMESPACE_SERVER) ? -1 : cached; } static int ldlm_pools_srv_shrink(SHRINKER_ARGS(sc, nr_to_scan, gfp_mask)) -- 1.8.3.1