As I did previously in 4f588a1b46, libvirt needs to set virtio vectors. Previously, we were advised to use vectors=N, where N = 2 * (number of queues) + 1 However, just recently this advisory has changed on the Multiquue wiki page [1] to: N = 2 * (number of queues) + 2 1: http://www.linux-kvm.org/page/Multiqueue#Enable_MQ_feature Signed-off-by: Michal Privoznik <mprivozn@xxxxxxxxxx> --- Notes: I've had some discussion with qemu developers that qemu is the best place to compute sane default [1]. And they agreed with me. However, until they will do so, libvirt should pass the correct value to make the whole feature work correctly. 1: https://bugzilla.redhat.com/show_bug.cgi?id=1005626 src/qemu/qemu_command.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index ff0b2d5..18d0a64 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -5036,8 +5036,8 @@ qemuBuildNicDevStr(virDomainDefPtr def, } if (usingVirtio && vhostfdSize > 1) { /* As advised at http://www.linux-kvm.org/page/Multiqueue - * we should add vectors=2*N+1 where N is the vhostfdSize */ - virBufferAsprintf(&buf, ",mq=on,vectors=%d", 2 * vhostfdSize + 1); + * we should add vectors=2*N+2 where N is the vhostfdSize */ + virBufferAsprintf(&buf, ",mq=on,vectors=%d", 2 * vhostfdSize + 2); } if (vlan == -1) virBufferAsprintf(&buf, ",netdev=host%s", net->info.alias); -- 1.9.0 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list