QEMU recently (86044b24e) introduced packed virtqueues for virtio that supposedly have better cache utilization and performance compared to the default split queues. So here's a patch set that expose the virtio parameter as a optional libvirt XML attribute to virtio-backed devices, e.g.: <interface type='user'> <mac address='00:11:22:33:44:55'/> <model type='virtio'/> <driver packed='on'/> </interface> The default value if the attribute is omitted is still 'off' and regular split virtqueues are used. v1 -> v2: * rebased on current master * reworded documentation as suggested by Jason and Michael Bjoern Walk (4): qemu: capabilities: add 'packed' capability conf: domain: support for virtio packed option qemu: command: support for virtio packed option docs: documentation for virtio packed option docs/formatdomain.html.in | 10 ++++++ docs/schemas/domaincommon.rng | 5 +++ src/conf/domain_conf.c | 28 ++++++++++++++++ src/conf/domain_conf.h | 1 + src/qemu/qemu_capabilities.c | 6 ++++ src/qemu/qemu_capabilities.h | 1 + src/qemu/qemu_command.c | 10 ++++++ .../caps_4.2.0.aarch64.xml | 1 + .../caps_4.2.0.x86_64.xml | 1 + .../caps_5.0.0.aarch64.xml | 1 + .../qemucapabilitiesdata/caps_5.0.0.ppc64.xml | 1 + .../caps_5.0.0.x86_64.xml | 1 + tests/qemuxml2argvdata/virtio-options.args | 32 ++++++++++--------- tests/qemuxml2argvdata/virtio-options.xml | 26 +++++++-------- tests/qemuxml2argvtest.c | 3 +- tests/qemuxml2xmltest.c | 3 +- 16 files changed, 100 insertions(+), 30 deletions(-) -- 2.24.1