All of lore.kernel.org
 help / color / mirror / Atom feed
From: james_p_freyensee@linux.intel.com (J Freyensee)
Subject: [PATCH RFC 2/4] nvme-rdma: fix sqsize/hsqsize/hrqsize per spec
Date: Thu, 11 Aug 2016 16:24:45 -0700	[thread overview]
Message-ID: <1470957885.4474.30.camel@linux.intel.com> (raw)
In-Reply-To: <20160811152154.GB19738@lst.de>

On Thu, 2016-08-11@17:21 +0200, Christoph Hellwig wrote:
> I think having different notations for hsqsize vs hrqsize is highly
> confusing, and I've asked for a clarification of the hrqsize
> definition
> which is ambious at it's best at the moment.??But independent of
> that a few more comments:
> 
> > 
> > @@ -1907,7 +1920,7 @@ static struct nvme_ctrl
> > *nvme_rdma_create_ctrl(struct device *dev,
> > ?	spin_lock_init(&ctrl->lock);
> > ?
> > ?	ctrl->queue_count = opts->nr_io_queues + 1; /* +1 for
> > admin queue */
> > -	ctrl->ctrl.sqsize = opts->queue_size;
> > +	ctrl->ctrl.sqsize = opts->queue_size-1;
> 
> We should keep our own sqsize in normal notation in core, and just
> convert to strange notations on the wire.??Especially as we use it
> to driver all the resource allocation as Sagi said.

So what I'm understanding is to keep ctrl->ctrl.sqsize as ones-based in
the code but when we actually do something like a connect() send
sqsize-1 in the connect() command.

That almost works, but is still a tad ugly because there are code lines
such as:

ctrl->ctrl.sqsize =
????????????????min_t(int, NVME_CAP_MQES(ctrl->cap) + 1, ctrl-
>ctrl.sqsize);

in which also need to be adjusted because what is currently going on
here is NVME_CAP_MQES() is a zero-based value but ctrl->ctrl.sqsize is
currently implemented as a one's-based value.

  parent reply	other threads:[~2016-08-11 23:24 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-11  4:07 [PATCH RFC 0/4] sqsize zero-based fixes Jay Freyensee
2016-08-11  4:07 ` [PATCH RFC 1/4] fabrics: define admin sqsize min default, per spec Jay Freyensee
2016-08-11  9:01   ` Sagi Grimberg
2016-08-11 15:08     ` Christoph Hellwig
2016-08-11 16:33       ` J Freyensee
2016-08-11  4:07 ` [PATCH RFC 2/4] nvme-rdma: fix sqsize/hsqsize/hrqsize " Jay Freyensee
2016-08-11  7:03   ` Sagi Grimberg
2016-08-11 16:35     ` J Freyensee
2016-08-11 15:21   ` Christoph Hellwig
2016-08-11 16:40     ` J Freyensee
2016-08-11 23:24     ` J Freyensee [this message]
2016-08-11  4:07 ` [PATCH RFC 3/4] nvmet-rdma: +1 to *queue_size from hsqsize/hrqsize Jay Freyensee
2016-08-11  4:07 ` [PATCH RFC 4/4] nvme-loop: set sqsize to 0-based value, per spec Jay Freyensee

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=1470957885.4474.30.camel@linux.intel.com \
    --to=james_p_freyensee@linux.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.