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