-
Jinshan Xiong authored
We register ELC for extent locks to be canceled at enqueue time, but it can't make positive effect to locks that have dirty pages under it. To keep the semantics of lru_size, the client should check how many unused locks are cached after adding a lock into lru list. If it has already exceeded the hard limit (ns_max_unused), the client will initiate async lock cancellation process in batch mode (ns->ns_cancel_batch). To do it, re-use the new batching LRU cancel functionality. Wherever unlimited LRU cancel is called (not ELC), try to cancel in batched mode. And a new field named new sysfs attribute named *lru_cancel_batch* is introduced into ldlm namespace to control the batch count. Signed-off-by:
Jinshan Xiong <jinshan.xiong@intel.com> Signed-off-by:
Shuichi Ihara <sihara@ddn.com> Signed-off-by:
Gu Zheng <gzheng@ddn.com> Signed-off-by:
Vitaly Fertman <c17818@cray.com> Change-Id: Ib18b829372da8599ba872b5ac5ab7421661f942d Reviewed-on: https://es-gerrit.dev.cray.com/157068 Reviewed-by:
Andriy Skulysh <c17819@cray.com> Reviewed-by:
Alexey Lyashkov <c17817@cray.com> Tested-by:
Alexander Lezhoev <c17454@cray.com> Reviewed-on: https://review.whamcloud.com/39562 Tested-by:
jenkins <devops@whamcloud.com> Tested-by:
Maloo <maloo@whamcloud.com> Reviewed-by:
Andreas Dilger <adilger@whamcloud.com> Reviewed-by:
Oleg Drokin <green@whamcloud.com>
6052cc88