diff options
author | Chuck Lever <chuck.lever@oracle.com> | 2015-01-21 11:03:02 -0500 |
---|---|---|
committer | Anna Schumaker <Anna.Schumaker@Netapp.com> | 2015-01-30 10:47:48 -0500 |
commit | eba8ff660b2d8b7fcd6669fcab2c025b59f66d26 (patch) | |
tree | 7a9a00e875d14cad14e389998a0f3cfbdfc94b83 /net/sunrpc/xprtrdma/xprt_rdma.h | |
parent | 3eb358106660195948f4e95822039c5799fc41f8 (diff) | |
download | linux-eba8ff660b2d8b7fcd6669fcab2c025b59f66d26.tar.gz linux-eba8ff660b2d8b7fcd6669fcab2c025b59f66d26.tar.bz2 linux-eba8ff660b2d8b7fcd6669fcab2c025b59f66d26.zip |
xprtrdma: Move credit update to RPC reply handler
Reduce work in the receive CQ handler, which can be run at hardware
interrupt level, by moving the RPC/RDMA credit update logic to the
RPC reply handler.
This has some additional benefits: More header sanity checking is
done before trusting the incoming credit value, and the receive CQ
handler no longer touches the RPC/RDMA header (the CPU stalls while
waiting for the header contents to be brought into the cache).
This further extends work begun by commit e7ce710a8802 ("xprtrdma:
Avoid deadlock when credit window is reset").
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Reviewed-by: Steve Wise <swise@opengridcomputing.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
Diffstat (limited to 'net/sunrpc/xprtrdma/xprt_rdma.h')
-rw-r--r-- | net/sunrpc/xprtrdma/xprt_rdma.h | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/net/sunrpc/xprtrdma/xprt_rdma.h b/net/sunrpc/xprtrdma/xprt_rdma.h index 532d58667b9d..3fcc92b0e3ca 100644 --- a/net/sunrpc/xprtrdma/xprt_rdma.h +++ b/net/sunrpc/xprtrdma/xprt_rdma.h @@ -248,7 +248,6 @@ struct rpcrdma_req { */ struct rpcrdma_buffer { spinlock_t rb_lock; /* protects indexes */ - atomic_t rb_credits; /* most recent server credits */ int rb_max_requests;/* client max requests */ struct list_head rb_mws; /* optional memory windows/fmrs/frmrs */ struct list_head rb_all; |