On 03/12/2025 15:17, Kapetanakis Giannis wrote: > Hi, > > Is there a limit on number of vio devices? > This is my 13th vio device > > virtio16 at pci0 dev 19 function 0 "Qumranet Virtio Network" rev 0x00 > vio12 at virtio16: 4 queues, address 00:1a:4a:34:9f:60 > failed to allocate interrupt slot for PIC msix pin -2147444734 > vio12[2]: couldn't establish msix interrupt > vio12: cannot alloc q0 intr: 12 > virtio16: virtio configuration failed
On 03/12/2025 16:02, Crystal Kolipe wrote: > Not exactly a limit on vio devices - in this case you seem to be exceeding the > number of available interrupt vectors. On 03/12/2025 16:33, Kapetanakis Giannis wrote: > Is this tunable (sysctl) or does it need a custom kernel? > > probably something bigger... > > the fail comes from intr.c: intr_allocate_slot() > which (to my reading is limited by MAX_INTR_SOURCES) > > /* > * Maximum # of interrupt sources per CPU. 64 to fit in one word. > * ioapics can theoretically produce more, but it's not likely to > * happen. For multiple ioapics, things can be routed to different > * CPUs. > */ > #define MAX_INTR_SOURCES 64 > #define NUM_LEGACY_IRQS 16 And it seems that this came from vio multiques. Each vio now has 4 queues and got hit by that hard limit vmstat -i | grep vio|wc -l 62 G

