Re: [PATCH v1 1/1] nvme-pci: adaptive interrupt coalescing
From: Christoph Hellwig
Date: Wed Jul 22 2026 - 05:12:13 EST
On Wed, Jul 22, 2026 at 10:22:11AM +0800, changfengnan wrote:
>
> > From: "Keith Busch"<kbusch@xxxxxxxxxx>
> > Date: Tue, Jul 21, 2026, 23:11
> > Subject: Re: [PATCH v1 1/1] nvme-pci: adaptive interrupt coalescing
> > To: "Fengnan Chang"<changfengnan@xxxxxxxxxxxxx>
> > Cc: <hch@xxxxxx>, <andriy.shevchenko@xxxxxxxxx>, <axboe@xxxxxxxxx>, <gang.cao@xxxxxxxxx>, <jun.i.jin@xxxxxxxxx>, <jun1.zeng@xxxxxxxxx>, <liang.a.fang@xxxxxxxxx>, <linux-kernel@xxxxxxxxxxxxxxx>, <linux-nvme@xxxxxxxxxxxxxxxxxxx>, <sagi@xxxxxxxxxxx>, <tglx@xxxxxxxxxx>, <yong.hu@xxxxxxxxx>, <guzebing@xxxxxxxxxxxxx>
> > On Tue, Jul 21, 2026 at 04:37:39PM +0800, Fengnan Chang wrote:
> > > @@ -1618,6 +1748,8 @@ static inline bool nvme_poll_cq(struct nvme_queue *nvmeq,
> > > * the cqe requires a full read memory barrier
> > > */
> > > dma_rmb();
> > > + if (sq_head)
> > > + *sq_head = le16_to_cpu(nvmeq->cqes[nvmeq->cq_head].sq_head);
> >
> > This is the wrong criteria to determine the outstanding depth. The spec
> > allows the controller to move this forward after it has read an entry.
> > The commands may still be in progress, so the depth of future
> > completions to expect can't depend on this value.
> >
> > But in general, I agree with the spirit of where this is going.
>
> Thanks for your feedback. I’d like to hear more opinions from others.
> If this is the right direction, I’ll continue to improve this patch.
>
> Hi Jens, Christoph, Sagi:
> what do you think?
Yes, this is a useful idea, please continue with it if you can.