x86: Bump default msi/msix vector limit to 2048

Given that 64c/128t CPUs are currently available, and that many
devices (nvme, many NICs) desire to map 1 MSI-X vector per core,
or even 1 per-thread, it is becoming far easier to see MSI-X interrupt
setup fail due to msi vector exhaustion, and devices fail to attach at
boot on large system.

This bump costs 12KB on amd64 (and 6KB on i386), which seems
worth the trade off for a better out of the box experience on
high end hardware.

Reviewed by:	jhb
MFC after:	21 days
Sponsored by:	Netflix
This commit is contained in:
Andrew Gallatin 2020-06-12 18:41:12 +00:00
parent ebff66b3c3
commit 6da16e3eb0
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=362112

View File

@ -156,7 +156,7 @@ u_int first_msi_irq;
SYSCTL_UINT(_machdep, OID_AUTO, first_msi_irq, CTLFLAG_RD, &first_msi_irq, 0,
"Number of first IRQ reserved for MSI and MSI-X interrupts");
u_int num_msi_irqs = 512;
u_int num_msi_irqs = 2048;
SYSCTL_UINT(_machdep, OID_AUTO, num_msi_irqs, CTLFLAG_RDTUN, &num_msi_irqs, 0,
"Number of IRQs reserved for MSI and MSI-X interrupts");