Hi,
There are various limits on the number of interrupts. I am not sure
which one your are hitting. At some point, the number of IDT slots runs
out, maybe you are running into that limit. There is also this problem
https://marc.info/?l=openbsd-bugs&m=175405222313781&w=2
If you have access to your qemu config, the easiest workaround is to
disable multiqueue. If you can't change the qemu config because it's a
rented VM, you are out of luck at the moment or would need to recompile
the kernel without multiqueue support.
Maybe we need to add a config(8) flag for vio to use fewer interrupt slots.
i was the one on the @bugs list for the similiar problem. I was able to
resolve this with your suggestions there.
I tried with 7.8 stable and was able to add 20 devices, starting qemu
like this:
#!/bin/bash
#notizen -machine type=q35 -vnc :50 -device amd-iommu \
#picocom -b 19200 /dev/pts/1
qemu-system-x86_64 -enable-kvm -m 8G -cpu host -serial pty -vnc :50
-smp 6 \ -netdev bridge,id=nic1,br=br4 -device
virtio-net,addr=5,netdev=nic1,mac=52:54:00:12:23:55 \ -netdev
bridge,id=nic2,br=br51 -device
virtio-net,addr=6,netdev=nic2,mac=52:54:00:12:41:02 \ -netdev
bridge,id=nic3,br=br51 -device
virtio-net,addr=7,netdev=nic3,mac=52:54:00:12:41:03 \ -netdev
bridge,id=nic4,br=br51 -device
virtio-net,addr=8,netdev=nic4,mac=52:54:00:12:41:04 \ -netdev
bridge,id=nic5,br=br51 -device
virtio-net,addr=9,netdev=nic5,mac=52:54:00:12:41:05 \ -netdev
bridge,id=nic6,br=br51 -device
virtio-net,addr=A,netdev=nic6,mac=52:54:00:12:41:06 \ -netdev
bridge,id=nic7,br=br51 -device
virtio-net,addr=B,netdev=nic7,mac=52:54:00:12:41:07 \ -netdev
bridge,id=nic8,br=br51 -device
virtio-net,addr=C,netdev=nic8,mac=52:54:00:12:41:08 \ -netdev
bridge,id=nic9,br=br51 -device
virtio-net,addr=D,netdev=nic9,mac=52:54:00:12:41:09 \ -netdev
bridge,id=nic10,br=br51 -device
virtio-net,addr=E,netdev=nic10,mac=52:54:00:12:41:10 \ -netdev
bridge,id=nic11,br=br51 -device
virtio-net,addr=F,netdev=nic11,mac=52:54:00:12:41:11 \ -netdev
bridge,id=nic12,br=br51 -device
virtio-net,addr=10,netdev=nic12,mac=52:54:00:12:41:12 \ -netdev
bridge,id=nic13,br=br51 -device
virtio-net,addr=11,netdev=nic13,mac=52:54:00:12:41:13 \ -netdev
bridge,id=nic14,br=br51 -device
virtio-net,addr=12,netdev=nic14,mac=52:54:00:12:41:14 \ -netdev
bridge,id=nic15,br=br51 -device
virtio-net,addr=13,netdev=nic15,mac=52:54:00:12:41:15 \ -netdev
bridge,id=nic16,br=br51 -device
virtio-net,addr=14,netdev=nic16,mac=52:54:00:12:41:16 \ -netdev
bridge,id=nic17,br=br51 -device
virtio-net,addr=15,netdev=nic17,mac=52:54:00:12:41:17 \ -netdev
bridge,id=nic18,br=br51 -device
virtio-net,addr=17,netdev=nic18,mac=52:54:00:12:41:18 \ -netdev
bridge,id=nic19,br=br51 -device
virtio-net,addr=18,netdev=nic19,mac=52:54:00:12:41:19 \ -netdev
bridge,id=nic20,br=br51 -device
virtio-net,addr=19,netdev=nic20,mac=52:54:00:12:41:20 \ -drive
file=/vm500gbhdd/diversevms/obsd-viotest.qcow2,if=virtio
Best regards
Jan