diff options
author | Tom Tucker <tom@opengridcomputing.com> | 2008-10-03 16:45:03 -0400 |
---|---|---|
committer | Tom Tucker <tom@opengridcomputing.com> | 2008-10-06 15:46:05 -0400 |
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 fb0dff5e53ea..98f945c5a007 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, | |||
335 | 335 | ||
336 | switch (ctxt->wr_op) { | 336 | switch (ctxt->wr_op) { |
337 | case IB_WR_SEND: | 337 | case IB_WR_SEND: |
338 | if (test_bit(RDMACTXT_F_FAST_UNREG, &ctxt->flags)) | ||
339 | svc_rdma_put_frmr(xprt, ctxt->frmr); | ||
338 | svc_rdma_put_context(ctxt, 1); | 340 | svc_rdma_put_context(ctxt, 1); |
339 | break; | 341 | break; |
340 | 342 | ||