All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jason Gunthorpe <jgg@ziepe.ca>
To: Rao Shoaib <rao.shoaib@oracle.com>
Cc: linux-rdma@vger.kernel.org, monis@mellanox.com,
	dledford@redhat.com, sean.hefty@intel.com,
	hal.rosenstock@gmail.com, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3 2/2] SGE buffer and max_inline data must have same size
Date: Wed, 15 Jan 2020 16:36:49 -0400	[thread overview]
Message-ID: <20200115203649.GF25201@ziepe.ca> (raw)
In-Reply-To: <93b8e890-c4a9-6050-88b7-3667c023dd34@oracle.com>

On Wed, Jan 15, 2020 at 11:57:08AM -0800, Rao Shoaib wrote:
> 
> On 1/15/20 10:27 AM, Jason Gunthorpe wrote:
> > On Mon, Jan 13, 2020 at 04:41:20PM -0800, rao Shoaib wrote:
> > > From: Rao Shoaib <rao.shoaib@oracle.com>
> > > 
> > > SGE buffer size and max_inline data should be same. Maximum of the
> > > two values requested is used.
> > > 
> > > Signed-off-by: Rao Shoaib <rao.shoaib@oracle.com>
> > >   drivers/infiniband/sw/rxe/rxe_qp.c | 23 +++++++++++------------
> > >   1 file changed, 11 insertions(+), 12 deletions(-)
> > > 
> > > diff --git a/drivers/infiniband/sw/rxe/rxe_qp.c b/drivers/infiniband/sw/rxe/rxe_qp.c
> > > index aeea994..41c669c 100644
> > > +++ b/drivers/infiniband/sw/rxe/rxe_qp.c
> > > @@ -235,18 +235,17 @@ static int rxe_qp_init_req(struct rxe_dev *rxe, struct rxe_qp *qp,
> > >   		return err;
> > >   	qp->sk->sk->sk_user_data = qp;
> > > -	qp->sq.max_wr		= init->cap.max_send_wr;
> > > -	qp->sq.max_sge		= init->cap.max_send_sge;
> > > -	qp->sq.max_inline	= init->cap.max_inline_data;
> > > -
> > > -	wqe_size = max_t(int, sizeof(struct rxe_send_wqe) +
> > > -			 qp->sq.max_sge * sizeof(struct ib_sge),
> > > -			 sizeof(struct rxe_send_wqe) +
> > > -			 qp->sq.max_inline);
> > > -
> > > -	qp->sq.queue = rxe_queue_init(rxe,
> > > -				      &qp->sq.max_wr,
> > > -				      wqe_size);
> > > +	wqe_size = max_t(int, init->cap.max_send_sge * sizeof(struct ib_sge),
> > > +			 init->cap.max_inline_data);
> > > +	qp->sq.max_sge = wqe_size/sizeof(struct ib_sge);
> > > +	qp->sq.max_inline = wqe_size;
> > > +
> > > +	wqe_size += sizeof(struct rxe_send_wqe);
> > Where does this limit the user's request to RXE_MAX_WQE_SIZE ?
> 
> My understanding is that the user request can only specify sge's and/or
> inline data. The check for those is made in rxe_qp_chk_cap. Since max sge's
> and max inline data are constrained by RXE_MAX_WQE_SIZE the limit is
> enforced.

Okay, that is fine, it is a bit obtuse because of how distant
rxe_qp_chk_cap() is from this function, lets just add a comment

> > I seem to recall the if the requested max can't be satisified then
> > that is an EINVAL?
> > 
> > And the init->cap should be updated with the actual allocation.
> 
> Since the user request for both (sge's and inline data) has been satisfied I
> decided not to update the values in case the return values are being
> checked. If you prefer that I update the values I can do that.

If the sizes are increased then the driver is supposed to return the
actual maximums.

It is easy, I will fix it.

Also, your patches don't apply cleanly. You need to send patches
against the rdma for-next tree

And subjects should start with some 'RDMA/rxe: ' tag

I fixed it all and applied to for-next

Thanks,
Jason

      parent reply	other threads:[~2020-01-15 20:36 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-14  0:41 [PATCH v3 0/2] rxe should use same buffer size for SGE's and inline data rao Shoaib
2020-01-14  0:41 ` [PATCH v3 1/2] Introduce maximum WQE size to check limits rao Shoaib
2020-01-14  0:41 ` [PATCH v3 2/2] SGE buffer and max_inline data must have same size rao Shoaib
2020-01-15 18:27   ` Jason Gunthorpe
2020-01-15 19:57     ` Rao Shoaib
2020-01-15 20:05       ` Rao Shoaib
2020-01-15 20:36       ` Jason Gunthorpe [this message]

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=20200115203649.GF25201@ziepe.ca \
    --to=jgg@ziepe.ca \
    --cc=dledford@redhat.com \
    --cc=hal.rosenstock@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rdma@vger.kernel.org \
    --cc=monis@mellanox.com \
    --cc=rao.shoaib@oracle.com \
    --cc=sean.hefty@intel.com \
    /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.