Hi all, I implemented a patch that make vioif(4) support multi-queue. And I have put the patch on ftp.n.o. I used vioif(4) multiqueue on qemu-kvm on Linux kernel 4.19.5. And It seems to be working fine.
https://ftp.netbsd.org/pub/NetBSD/misc/yamaguchi/vioif_mutilq.patch The summary of the modification is follows: - vioif(4) - Set VIRTIO_NET_F_MQ bit to a features the driver requests - Allocate resources related to rx queue and tx queue - The number of the resources is written into the configuration registers - Send VIRTIO_NET_CTRL_MQ_VQ_PAIRS_SET command to the device - For the command, vioif_ctrl_mq_vq_pairs_set() is newly added - Introduce vioif_transmit() - virtio(4) - Added virtio_child_attach_set_vqs() for setup of a virtqueue array after doing virtio_child_attach_start() - Enable per-vq MSIX vector when the child device uses multiqueue Do you have any questions or comments about the patch? Yamaguchi