* [RFC] PCI_IRQ_AFFINITY limits MSI-X allocation on 384 CPU / 1000+ NVMe system
@ 2026-07-28 6:42 santhosh kumar
2026-07-28 22:52 ` Thomas Gleixner
0 siblings, 1 reply; 2+ messages in thread
From: santhosh kumar @ 2026-07-28 6:42 UTC (permalink / raw)
To: linux-pci; +Cc: linux-kernel, tglx, akpm, mingo, bp, dave.hansen
Observed:
- Linux 6.13
- 384 CPUs
- 1000+ NVMe devices
With PCI_IRQ_AFFINITY:
- some NVMe devices fail to obtain dedicated MSI-X vectors
Without PCI_IRQ_AFFINITY:
- all NVMe devices obtain 2 MSI-X vectors
Investigation suggests an interaction between:
- group_cpus_evenly()
- irq_create_affinity_masks()
- x86 vector allocation
Looking for feedback on whether affinity-constrained vector allocation
could explain this behavior.
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [RFC] PCI_IRQ_AFFINITY limits MSI-X allocation on 384 CPU / 1000+ NVMe system
2026-07-28 6:42 [RFC] PCI_IRQ_AFFINITY limits MSI-X allocation on 384 CPU / 1000+ NVMe system santhosh kumar
@ 2026-07-28 22:52 ` Thomas Gleixner
0 siblings, 0 replies; 2+ messages in thread
From: Thomas Gleixner @ 2026-07-28 22:52 UTC (permalink / raw)
To: santhosh kumar, linux-pci; +Cc: linux-kernel, akpm, mingo, bp, dave.hansen
On Tue, Jul 28 2026 at 12:12, santhosh kumar wrote:
> Observed:
> - Linux 6.13
> - 384 CPUs
> - 1000+ NVMe devices
>
>
> With PCI_IRQ_AFFINITY:
> - some NVMe devices fail to obtain dedicated MSI-X vectors
>
>
> Without PCI_IRQ_AFFINITY:
> - all NVMe devices obtain 2 MSI-X vectors
>
> Investigation suggests an interaction between:
> - group_cpus_evenly()
> - irq_create_affinity_masks()
> - x86 vector allocation
>
> Looking for feedback on whether affinity-constrained vector allocation
> could explain this behavior.
Math perhaps?
Number of CPUs: 384
Total number of available device vectors: ~ (200 * 384) = 76800
NVMe devices try to allocate min(nr_queues, NR_CPUS) queues where each
queue requires a dedicated interrupt. Add the managament queue to it and
then it's obvious that the total number of required vectors is larger
than the number of available vectors in the system when the number of
devices gets large enough.
Nothing to see here. It's simply resource exhaustion.
If you want that odd setup to be supported you have to talk to the NVME
people and not to a random list of folks which have absolutely nothing
to do with NVME.
Thanks,
tglx
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-07-28 22:52 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-28 6:42 [RFC] PCI_IRQ_AFFINITY limits MSI-X allocation on 384 CPU / 1000+ NVMe system santhosh kumar
2026-07-28 22:52 ` Thomas Gleixner
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.