From: Jason Gunthorpe <jgg@ziepe.ca>
To: Anna Schumaker <Anna.Schumaker@Netapp.com>
Cc: Chuck Lever <chuck.lever@oracle.com>,
linux-rdma@vger.kernel.org, linux-nfs@vger.kernel.org
Subject: Re: [PATCH 7/8] xprtrdma: Chain Send to FastReg WRs
Date: Wed, 28 Feb 2018 15:59:46 -0700 [thread overview]
Message-ID: <20180228225946.GF19007@ziepe.ca> (raw)
In-Reply-To: <37357f5c-25c5-b862-4e4f-7f84a38a29b2@Netapp.com>
On Wed, Feb 28, 2018 at 04:51:11PM -0500, Anna Schumaker wrote:
>
>
> On 02/28/2018 03:30 PM, Chuck Lever wrote:
> > With FRWR, the client transport can perform memory registration and
> > post a Send with just a single ib_post_send.
> >
> > This reduces contention between the send_request path and the Send
> > Completion handlers, and reduces the overhead of registering a chunk
> > that has multiple segments.
> >
> > Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
> > net/sunrpc/xprtrdma/fmr_ops.c | 11 ++++++++
> > net/sunrpc/xprtrdma/frwr_ops.c | 51 +++++++++++++++++++++++++++------------
> > net/sunrpc/xprtrdma/verbs.c | 3 +-
> > net/sunrpc/xprtrdma/xprt_rdma.h | 2 ++
> > 4 files changed, 49 insertions(+), 18 deletions(-)
> >
> > diff --git a/net/sunrpc/xprtrdma/fmr_ops.c b/net/sunrpc/xprtrdma/fmr_ops.c
> > index 629e539..5cc68a8 100644
> > +++ b/net/sunrpc/xprtrdma/fmr_ops.c
> > @@ -251,6 +251,16 @@ enum {
> > return ERR_PTR(-EIO);
> > }
> >
> > +/* Post Send WR containing the RPC Call message.
> > + */
> > +static int
> > +fmr_op_send(struct rpcrdma_ia *ia, struct rpcrdma_req *req)
> > +{
> > + struct ib_send_wr *bad_wr;
> > +
> > + return ib_post_send(ia->ri_id->qp, &req->rl_sendctx->sc_wr, &bad_wr);
>
> I wish there was a bad_wr null-check in ib_post_send() (or in the
> infiniband drivers) so you don't have to declare a variable that's
> never used again. Coordinating that might be more work than it's
> worth, though.
It is a good point, I actually don't think we have any user in kernel
of bad_wr ..
Would prefer to just drop the parameter and add a new function call if
really, really needed.
Jason
next prev parent reply other threads:[~2018-02-28 22:59 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-02-28 20:30 [PATCH 0/8] NFS/RDMA client-side patches for v4.17 Chuck Lever
2018-02-28 20:30 ` [PATCH 1/8] xprtrdma: Fix latency regression on NUMA NFS/RDMA clients Chuck Lever
2018-02-28 20:30 ` [PATCH 2/8] xprtrdma: Remove arbitrary limit on initiator depth Chuck Lever
2018-02-28 20:30 ` [PATCH 3/8] xprtrdma: Remove xprt-specific connect cookie Chuck Lever
2018-02-28 20:30 ` [PATCH 4/8] xprtrdma: ->send_request returns -EAGAIN when there are no free MRs Chuck Lever
2018-02-28 20:30 ` [PATCH 5/8] xprtrdma: Reduce number of MRs created by rpcrdma_mrs_create Chuck Lever
2018-02-28 20:30 ` [PATCH 6/8] xprtrdma: "Support" call-only RPCs Chuck Lever
2018-02-28 20:30 ` [PATCH 7/8] xprtrdma: Chain Send to FastReg WRs Chuck Lever
2018-02-28 21:51 ` Anna Schumaker
2018-02-28 22:59 ` Jason Gunthorpe [this message]
2018-02-28 23:04 ` Chuck Lever
2018-02-28 20:31 ` [PATCH 8/8] xprtrdma: Move creation of rl_rdmabuf to rpcrdma_create_req Chuck Lever
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180228225946.GF19007@ziepe.ca \
--to=jgg@ziepe.ca \
--cc=Anna.Schumaker@Netapp.com \
--cc=chuck.lever@oracle.com \
--cc=linux-nfs@vger.kernel.org \
--cc=linux-rdma@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.