[LSF/MM TOPIC][LSF/MM ATTEND] NAPI polling for block drivers

Johannes Thumshirn jthumshirn at suse.de
Wed Jan 18 07:16:43 PST 2017


On Wed, Jan 18, 2017 at 05:14:36PM +0200, Sagi Grimberg wrote:
> 
> >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

I indeed did, thanks.

-- 
Johannes Thumshirn                                          Storage
jthumshirn at suse.de                                +49 911 74053 689
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: Felix Imendörffer, Jane Smithard, Graham Norton
HRB 21284 (AG Nürnberg)
Key fingerprint = EC38 9CAB C2C4 F25D 8600 D0D0 0393 969D 2D76 0850



More information about the Linux-nvme mailing list