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