Re: [RFC] PCI_IRQ_AFFINITY limits MSI-X allocation on 384 CPU / 1000+ NVMe system

Keith Busch <[email protected]>
Newsgroups gmane.linux.kernel
Message-ID <anH9gUs2dT-A-khw@kbusch-mbp>
On Tue, Aug 04, 2026 at 04:10:23PM +0200, Christoph Hellwig wrote:
> On Mon, Aug 03, 2026 at 05:43:59AM -1000, Keith Busch wrote:
> > On Thu, Jul 30, 2026 at 09:44:21PM +0200, Thomas Gleixner wrote:
> > > On Thu, Jul 30 2026 at 07:28, Keith Busch wrote:
> > > > We can introduce a module parameter to throttle down the maximum number
> > > > of IO queues to allocate per controller. I don't think the driver can
> > > > automatically reason out what the correct number should be because it
> > > > doesn't know how many devices it's going to see.
> > > 
> > > I might be missing something here as usual, but the number of io queues
> > > per controller does not affect that at all as I explained before.
> > 
> > Oh, you did explain that. I skipped to the end as I had too many
> > distractions last week. Sorry about that, and thanks for the
> > re-explanation.
> > 
> > I mistakenly was thinking the effective_affinity was the only hardware
> > resource used. Back to the drawing board.
> 
> But given that we don't use multiple tag_set by default this can't
> be the issue of the reported unless they didnt report enabling
> multiple tag sets.

I believe the use of additional sets makes the problem worse, but I
think we still have a problem even if we have only the one default set.
This is the quote from Thomas that I'm reading into:

  "the per CPU vector consumption is always _one_ per set."

So just the default set with only 1 NVMe IO queue managed IRQ will still
consume 384 vectors for the reported system even though the effective
affinity is pinned to 1 CPU.
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.