Whamcloud - gitweb
LU-1520 ldlm: improve ldlm_pools_shrink algorithm
authorHongchao Zhang <hongchao.zhang@whamcloud.com>
Tue, 4 Sep 2012 15:27:09 +0000 (23:27 +0800)
committerJohann Lombardi <johann.lombardi@intel.com>
Tue, 11 Dec 2012 15:02:48 +0000 (10:02 -0500)
commit90c6d2613bf14c699c65bddfe1b1e4a01a91375e
tree156d2449aae8af3ed70217c74d4fd045443ad13c
parent5631c58cb30f78fe48536a2216b6bad5c6308ad2
LU-1520 ldlm: improve ldlm_pools_shrink algorithm

1, shrink namespaces by batches of 64 namespaces, the batch is
   implemented as list
2, limit number of simultaneously shrinking threads to 32 threads
3, have ldlm_pools_recalc to operate with namespaces similar to
   ldlm_pools_shrink
4, use glboal counters of unused locks on client and granted
   locks on servers to avoid iterating over namespaces

Change-Id: I5fb3f56748ae10961c50b4b06c300c9c7f5fca87
Signed-off-by: Vladimir Saveliev <valdimir.saveliev@oracle.com>
Signed-off-by: Hongchao Zhang <hongchao.zhang@whamcloud.com>
Reviewed-on: http://review.whamcloud.com/3270
Tested-by: Hudson
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Fan Yong <yong.fan@whamcloud.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Johann Lombardi <johann.lombardi@intel.com>
lustre/include/lustre_dlm.h
lustre/ldlm/ldlm_internal.h
lustre/ldlm/ldlm_lock.c
lustre/ldlm/ldlm_lockd.c
lustre/ldlm/ldlm_pool.c
lustre/ldlm/ldlm_resource.c