tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

RFC: vioif(4) multiqueue support



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



Home | Main Index | Thread Index | Old Index