Re: [PATCH v1 0/1] nvme-pci: adaptive interrupt coalescing
From: Keith Busch
Date: Mon Jul 20 2026 - 11:39:02 EST
On Mon, Jul 20, 2026 at 05:24:12AM +0000, Zeng, Jun1 wrote:
> > >On 7/15/26 12:57 AM, Jun Zeng wrote:
> > > The IOPS for small IO can be significantly improved when enabling
> > > interrupt coalescing in this case. However, in some cases (e.g., big
> > > IO for bandwidth or latency-sensitive tests with small IO and small
> > > queue depth), interrupt coalescing has side effects.
> > >
> > > Solution
> > > ========
> > >
> > > Monitor the IOPS and average queue depth of inflight IO periodically
> > > on each NVMe drive and enable/disable interrupt coalescing
> > > automatically without user intervention. This feature is enabled by
> > > default and can be disabled/enabled through debugfs during runtime.
>
> > An algorithm like the above can be implemented more efficiently in NVMe controller hardware than in software, isn't it?
>
> Theoretically, this can be implemented in the NVMe controller's
> firmware, but we have no control over the strategies and decisions of
> NVMe vendors. We are simply making the best possible optimizations at
> the software level.
But the coalescing feature as it is is too coarse. There is/was some
proposal going through the nvme technical workgroup to improve it. I
really haven't had any time to participate in the standards work to say
if it's any better, but that's probably the forum to improve such things
across vendors.
I'm not sure what concern you have about distro support with respect to
just controlling this from user space. AFAIK, everything usable has
sysfs, and you can't stop passthrough ioctls, so everything you need
should be there.