From: jonathan.derrick@intel.com (Jon Derrick)
Subject: [PATCH rfc 1/6] nvme-pci: Split __nvme_process_cq to poll and handle
Date: Wed, 5 Oct 2016 13:49:57 -0600 [thread overview]
Message-ID: <20161005194956.GA12708@localhost.localdomain> (raw)
In-Reply-To: <d92a6b4c-70bb-1ede-9f4a-4d80941f2cda@grimberg.me>
Looks good assuming you will restore the increment in v2!
Acked-by Jon Derrick: <jonathan.derrick at intel.com>
On Wed, Oct 05, 2016@07:52:02PM +0300, Sagi Grimberg wrote:
>
> >>+static int __nvme_process_cq(struct nvme_queue *nvmeq, int *tag)
> >>+{
> >>+ struct nvme_completion cqe;
> >>+ int consumed = 0;
> >>
> >>- }
> >>+ while (nvme_read_cqe(nvmeq, &cqe)) {
> >>+ nvme_handle_cqe(nvmeq, &cqe);
> >>
> >>- /* If the controller ignores the cq head doorbell and continuously
> >>- * writes to the queue, it is theoretically possible to wrap around
> >>- * the queue twice and mistakenly return IRQ_NONE. Linux only
> >>- * requires that 0.1% of your interrupts are handled, so this isn't
> >>- * a big problem.
> >>- */
> >>- if (head == nvmeq->cq_head && phase == nvmeq->cq_phase)
> >>- return;
> >>+ if (tag && *tag == cqe.command_id) {
> >>+ *tag = -1;
> >>+ break;
> >>+ }
> >>+ }
> >>
> >>- if (likely(nvmeq->cq_vector >= 0))
> >>- writel(head, nvmeq->q_db + nvmeq->dev->db_stride);
> >>- nvmeq->cq_head = head;
> >>- nvmeq->cq_phase = phase;
> >>+ if (consumed)
> >>+ nvme_ring_cq_doorbell(nvmeq);
> >>
> >>- nvmeq->cqe_seen = 1;
> >>+ return consumed;
> >> }
> >
> >Won't 'consumed' always be 0 here and we thus never call
> >nvme_ring_cq_doorbell()? Am I overlooking something here, or is this
> >just for preparation of later patches?
>
> that incrementation was lost in a squash. I'll restore it in v2.
>
> _______________________________________________
> Linux-nvme mailing list
> Linux-nvme at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-nvme
next prev parent reply other threads:[~2016-10-05 19:49 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-10-05 9:42 [PATCH rfc 0/6] convert nvme pci to use irq-poll service Sagi Grimberg
2016-10-05 9:42 ` [PATCH rfc 1/6] nvme-pci: Split __nvme_process_cq to poll and handle Sagi Grimberg
2016-10-05 13:21 ` Johannes Thumshirn
2016-10-05 16:52 ` Sagi Grimberg
2016-10-05 19:49 ` Jon Derrick [this message]
2016-10-10 7:25 ` Johannes Thumshirn
2016-10-05 9:42 ` [PATCH rfc 2/6] nvme-pci: Add budget to __nvme_process_cq Sagi Grimberg
2016-10-05 13:26 ` Johannes Thumshirn
2016-10-05 9:42 ` [PATCH rfc 3/6] nvme-pci: Use irq-poll for completion processing Sagi Grimberg
2016-10-05 13:40 ` Johannes Thumshirn
2016-10-05 16:57 ` Sagi Grimberg
2016-10-10 7:47 ` Johannes Thumshirn
2016-10-05 9:42 ` [PATCH rfc 4/6] nvme: don't consume cq in queue_rq Sagi Grimberg
2016-10-05 13:42 ` Johannes Thumshirn
2016-10-05 9:42 ` [PATCH rfc 5/6] nvme-pci: open-code polling logic in nvme_poll Sagi Grimberg
2016-10-05 13:52 ` Johannes Thumshirn
2016-10-05 17:02 ` Sagi Grimberg
2016-10-10 7:49 ` Johannes Thumshirn
2016-10-05 9:42 ` [PATCH rfc 6/6] nvme-pci: Get rid of threaded interrupts Sagi Grimberg
2016-10-05 13:47 ` Johannes Thumshirn
2016-10-05 21:47 ` [PATCH rfc 0/6] convert nvme pci to use irq-poll service Keith Busch
2016-10-05 21:55 ` Sagi Grimberg
2016-10-05 22:49 ` Keith Busch
2016-10-05 22:48 ` Sagi Grimberg
2016-10-27 10:09 ` Johannes Thumshirn
2016-10-27 10:31 ` Sagi Grimberg
2016-10-27 10:58 ` Johannes Thumshirn
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=20161005194956.GA12708@localhost.localdomain \
--to=jonathan.derrick@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox