[libvirt] [PATCH] qemuBuildNicDevStr: Adapt to new advisory on multiqueue

Michal Privoznik mprivozn at redhat.com
Tue Mar 4 09:47:38 UTC 2014


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 at redhat.com>
---

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




More information about the libvir-list mailing list