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

Reply via email to