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

Johannes Thumshirn
2017-01-18T15:16:47Z

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@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