Re: [PATCH v1] xprtrdma: Use xprt_pin_rqst in rpcrdma_reply_handler

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 2017-08-23 at 17:05 -0400, Chuck Lever wrote:
> Adopt the use of xprt_pin_rqst to eliminate contention between
> Call-side users of rb_lock and the use of rb_lock in
> rpcrdma_reply_handler.
> 
> This replaces the mechanism introduced in 431af645cf66 ("xprtrdma:
> Fix client lock-up after application signal fires").
> 
> Use recv_lock to quickly find the completing rqst, pin it, then
> drop the lock. At that point invalidation and pull-up of the Reply
> XDR can be done. Both are often expensive operations.
> 
> Finally, take recv_lock again to signal completion to the RPC
> layer. It also protects adjustment of "cwnd".
> 
> This greatly reduces the amount of time a lock is held by the
> reply handler. Comparing lock_stat results shows a marked decrease
> in contention on rb_lock and recv_lock.
> 
> Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx>
> ---
> Hi-
> 
> If Trond's lock contention series is going into v4.14, I'd like you
> to consider this one (applied at the end of that series) as well.
> Without it, NFS/RDMA performance regresses a bit after the
> first xprt_pin_rqst patch is applied. Thanks!
> 

If Anna is OK with it, then I can apply this patch once she's sent me
the pull request for the other RDMA client patches.

-- 
Trond Myklebust
Linux NFS client maintainer, PrimaryData
trond.myklebust@xxxxxxxxxxxxxxx
��.n��������+%������w��{.n�����{��w���jg��������ݢj����G�������j:+v���w�m������w�������h�����٥




[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux