diff options
author | Tom Tucker <tom@opengridcomputing.com> | 2008-10-03 15:45:03 -0500 |
---|---|---|
committer | Tom Tucker <tom@opengridcomputing.com> | 2008-10-06 14:46:05 -0500 |
commit | afd566ea080572499cc01d42d2f578bf4b54f20f (patch) | |
tree | cbd0c55f27cfd0a432bf669d6db4cbe0e595a2bf /net/sunrpc/xprtrdma/svc_rdma_transport.c | |
parent | 146b6df6a537939570c5772ebd7db826fdbd5d82 (diff) |
svcrdma: Modify the RPC reply path to use FRMR when available
Use FRMR to map local RPC reply data. This allows RDMA_WRITE to send reply
data using a single WR. The FRMR is invalidated by linking the LOCAL_INV WR
to the RDMA_SEND message used to complete the reply.
Signed-off-by: Tom Tucker <tom@opengridcomputing.com>
Diffstat (limited to 'net/sunrpc/xprtrdma/svc_rdma_transport.c')
-rw-r--r-- | net/sunrpc/xprtrdma/svc_rdma_transport.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/net/sunrpc/xprtrdma/svc_rdma_transport.c b/net/sunrpc/xprtrdma/svc_rdma_transport.c index fb0dff5e53e..98f945c5a00 100644 --- a/net/sunrpc/xprtrdma/svc_rdma_transport.c +++ b/net/sunrpc/xprtrdma/svc_rdma_transport.c @@ -335,6 +335,8 @@ static void process_context(struct svcxprt_rdma *xprt, switch (ctxt->wr_op) { case IB_WR_SEND: + if (test_bit(RDMACTXT_F_FAST_UNREG, &ctxt->flags)) + svc_rdma_put_frmr(xprt, ctxt->frmr); svc_rdma_put_context(ctxt, 1); break; |