Whamcloud - gitweb
LU-6032 ldlm: don't disable softirq for exp_rpc_lock 57/12957/12
authorLiang Zhen <liang.zhen@intel.com>
Fri, 5 Dec 2014 14:13:17 +0000 (22:13 +0800)
committerOleg Drokin <oleg.drokin@intel.com>
Mon, 9 Apr 2018 19:46:24 +0000 (19:46 +0000)
commit292aa42e0897ec4db0c07d00a3f050c19b3f908d
tree88a3b6cffadd74b6d3170fb34600cf6ef1c7e679
parent07fdba2244e748e1721232abc52617209a544b87
LU-6032 ldlm: don't disable softirq for exp_rpc_lock

it is not necessary to call ldlm_lock_busy() in the context of timer
callback, we can call it in thread context of expired_lock_main.
With this change, we don't need to disable softirq for exp_rpc_lock.

Instead of moving busy locks to the end of the waiting list one
at a time in the context of the timer callback, move any locks
that may be expired onto the expired list.  If these locks are
still being used by RPCs being processed, then put them back
onto the end of the waiting list instead of evicting the client.

Signed-off-by: Liang Zhen <liang.zhen@intel.com>
Change-Id: Ic3da0dd4e81b758c7448d9613ccd4786693e075d
Reviewed-on: https://review.whamcloud.com/12957
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
lustre/ldlm/ldlm_lockd.c
lustre/ptlrpc/service.c