Re: [RESEND RFC PATCH v2] nvme-pci: add adaptive interrupt polling

"changfengnan" <[email protected]>
Newsgroups org.infradead.lists.linux-nvme,org.kernel.vger.linux-kernel
Message-ID <d9210bcdf73fbe1ac8b6ec132865609a3ed68688.0698c0c0.7344.4eb9.96f0.08703e79ece6@bytedance.com>
> From: "Keith Busch"<[email protected]>
> Date:  Wed, Aug 12, 2026, 04:30
> Subject:  Re: [RESEND RFC PATCH v2] nvme-pci: add adaptive interrupt polling
> To: "changfengnan"<[email protected]>
> Cc: <[email protected]>, <[email protected]>, <[email protected]>, <[email protected]>, <[email protected]>, "Guzebing"<[email protected]>
> On Tue, Aug 11, 2026 at 10:32:35AM +0800, changfengnan wrote:
> > The code looks much cleaner when using dim, I'll see if I can replace the
> > sample-and-poll logic I wrote myself with the dim library. 
> > I ran a quick test on the POC patch and didn't see any performance
> > improvements; in fact, there were quite a few regressions. Maybe some
> > parameters need to be adjusted.
> 
> Yeah, I'm just now testing mid-tier devices and it's also performing a
> bit worse for high throughput workloads. But I hadn't really tried to
> tune the settings here, and maybe my criteria is all wrong. I was mainly
> trying to see if we can utilize the dim library before honing in on the
> right implementation details.

I tried modifying the original approach to use DIM, but the results were
consistently poor. Using the original approach, my current optimization
has managed to keep 4K random read backoff within 2% (tested on 10
different drive models), but when using DIM, the backoff rate is 10–15%.
I believe there are several reasons for this:
1. The core of NVMe adaptive polling is determining when polling is more
efficient, but DIM cannot answer this question. Although  irq and poll can
be disguised as a DIM profile, this is essentially just borrowing the DIM
framework—the core decision-making still requires writing your own baseline,
thresholds, backoff, and re-baseline, so the code complexity and volume
haven’t actually decreased. 
2. The DIM state machine is relatively heavy, which reduces performance
gains under I/O-intensive workloads.

So I tend to avoid using DIM. Please correct me if I'm wrong.

> 
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.