All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@lst.de>
To: Keith Busch <kbusch@kernel.org>
Cc: bijan.mottahedeh@oracle.com, hch@lst.de,
	linux-nvme@lists.infradead.org, sagi@grimberg.me
Subject: Re: [PATCH 1/2] nvme-pci: Remove tag from process cq
Date: Wed, 4 Mar 2020 17:05:18 +0100	[thread overview]
Message-ID: <20200304160518.GA11029@lst.de> (raw)
In-Reply-To: <20200302194616.2432-2-kbusch@kernel.org>

On Mon, Mar 02, 2020 at 11:46:15AM -0800, Keith Busch wrote:
> The only user for tagged completion was for timeout handling. That user,
> though, really only cares if the timed out command is completed, which
> we can safely check within the timeout handler.
> 
> Remove the tag check to simplify completion handling.
> 
> Signed-off-by: Keith Busch <kbusch@kernel.org>
> ---
>  drivers/nvme/host/pci.c | 22 +++++++++++-----------
>  1 file changed, 11 insertions(+), 11 deletions(-)
> 
> diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c
> index da392b50f73e..db84283f2a5a 100644
> --- a/drivers/nvme/host/pci.c
> +++ b/drivers/nvme/host/pci.c
> @@ -991,14 +991,13 @@ static inline void nvme_update_cq_head(struct nvme_queue *nvmeq)
>  }
>  
>  static inline int nvme_process_cq(struct nvme_queue *nvmeq, u16 *start,
> -				  u16 *end, unsigned int tag)
> +				  u16 *end)
>  {
>  	int found = 0;
>  
>  	*start = nvmeq->cq_head;
>  	while (nvme_cqe_pending(nvmeq)) {
> -		if (tag == -1U || nvmeq->cqes[nvmeq->cq_head].command_id == tag)
> -			found++;
> +		++found;

Any reason for moving from found++ to ++found?  I always find the infix
notation a little odd when there is no need for it, but that is just a
personal preference.

>  	 */
> -	if (nvme_poll_irqdisable(nvmeq, req->tag)) {
> +	if (nvme_poll_irqdisable(nvmeq) &&
> +	    blk_mq_request_completed(req)) {

Do we need to check the nvme_poll_irqdisable value here?  If it got
completed by other means we should be fine too, shouldn't we?

_______________________________________________
linux-nvme mailing list
linux-nvme@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-nvme

  reply	other threads:[~2020-03-04 16:05 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-02 19:46 [PATCH 0/2] nvme-pci: Simpler completions Keith Busch
2020-03-02 19:46 ` [PATCH 1/2] nvme-pci: Remove tag from process cq Keith Busch
2020-03-04 16:05   ` Christoph Hellwig [this message]
2020-03-04 16:45     ` Keith Busch
2020-03-02 19:46 ` [PATCH 2/2] nvme-pci: Remove two-pass completions Keith Busch
2020-03-04 16:08   ` Christoph Hellwig
2020-03-05 20:52   ` Sagi Grimberg

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=20200304160518.GA11029@lst.de \
    --to=hch@lst.de \
    --cc=bijan.mottahedeh@oracle.com \
    --cc=kbusch@kernel.org \
    --cc=linux-nvme@lists.infradead.org \
    --cc=sagi@grimberg.me \
    /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.