Hi,

 

The page-per-vq flag is important for vdpa with vhost-user performance [1].

 

Currently there is no way in libvirt to set it in the xml page-per-vq except with qemu args, like so:

  <devices>

   <interface type='vhostuser'>

      <mac address='fa:16:3e:92:6d:79'/>

      <source type='unix' path='/var/lib/vhost_sockets/sock7f9a971a-cf3' mode='server'/>

      <model type='virtio'/>

      <driver queues='4' rx_queue_size='512' tx_queue_size='512'/>

      <alias name='net0'/>

      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>

    </interface>

  </devices>

  <qemu:commandline>

    <qemu:arg value='-set'/>

    <qemu:arg value='device.net0.page-per-vq=on'/>

  </qemu:commandline>

 

However, this is not an approach which can be used for hotplug devices, as qemu:commandline arguments cannot be used for them, and is therefore not suitable for production.

 

We propose to add the flag to the ‘ driver’ element of virtio devices, as this is an attribute related to the virtio transport [2]. This will enable configuring virtio devices with the page-per-vq flag without relying on qemu:commandline arguments.

 

Are there any issues that would prevent this feature from being accepted?

 

Thanks,

Gavi

 

[1] - http://doc.dpdk.org/guides/sample_app_ug/vdpa.html - look for page-per-vq

[2] - https://libvirt.org/formatdomain.html#virtio-related-options