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 08/23/2017 05:40 PM, Trond Myklebust wrote:
> 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.

Works for me.  Thanks!
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[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