[LSF/MM TOPIC][LSF/MM ATTEND] NAPI polling for block drivers
Sagi Grimberg
sagi at grimberg.me
Wed Jan 18 07:14:36 PST 2017
> Hannes just spotted this:
> static int nvme_queue_rq(struct blk_mq_hw_ctx *hctx,
> const struct blk_mq_queue_data *bd)
> {
> [...]
> __nvme_submit_cmd(nvmeq, &cmnd);
> nvme_process_cq(nvmeq);
> spin_unlock_irq(&nvmeq->q_lock);
> return BLK_MQ_RQ_QUEUE_OK;
> out_cleanup_iod:
> nvme_free_iod(dev, req);
> out_free_cmd:
> nvme_cleanup_cmd(req);
> return ret;
> }
>
> So we're draining the CQ on submit. This of cause makes polling for
> completions in the IRQ handler rather pointless as we already did in the
> submission path.
I think you missed:
http://git.infradead.org/nvme.git/commit/49c91e3e09dc3c9dd1718df85112a8cce3ab7007
More information about the Linux-nvme
mailing list