From nobody Sat May 4 07:46:57 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1518447711733111.53620466942039; Mon, 12 Feb 2018 07:01:51 -0800 (PST) Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id F373EC056781; Mon, 12 Feb 2018 15:01:48 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 9A9A4600C8; Mon, 12 Feb 2018 15:01:47 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 1F5E541F5C; Mon, 12 Feb 2018 15:01:45 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com [10.11.54.4]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w1CEuoic024131 for ; Mon, 12 Feb 2018 09:56:50 -0500 Received: by smtp.corp.redhat.com (Postfix) id A71BD2026612; Mon, 12 Feb 2018 14:56:50 +0000 (UTC) Received: from t460.redhat.com (unknown [10.33.36.4]) by smtp.corp.redhat.com (Postfix) with ESMTP id 204C02017DDF; Mon, 12 Feb 2018 14:56:50 +0000 (UTC) From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= To: libvir-list@redhat.com Date: Mon, 12 Feb 2018 14:56:49 +0000 Message-Id: <20180212145649.17102-1-berrange@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.78 on 10.11.54.4 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH] Revert "qemu: Expose rx/tx_queue_size in qemu.conf too" X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.32]); Mon, 12 Feb 2018 15:01:50 +0000 (UTC) X-ZohoMail: RSF_0 Z_629925259 SPT_0 This reverts commit 038eb472a0d970a17ccf4343ead0666df5c92f9d. On reflection adding defaults for arbitrary guest XML device config settings to the qemu.conf is not a sustainable path. Removing the support for rx/tx queue size so that it doesn't set a bad precedent. Signed-off-by: Daniel P. Berrang=C3=A9 --- docs/formatdomain.html.in | 14 ++-------- src/qemu/libvirtd_qemu.aug | 4 --- src/qemu/qemu.conf | 6 ----- src/qemu/qemu_command.c | 55 +++++++++++-----------------------= ---- src/qemu/qemu_command.h | 3 +-- src/qemu/qemu_conf.c | 4 --- src/qemu/qemu_conf.h | 3 --- src/qemu/qemu_hotplug.c | 2 +- src/qemu/test_libvirtd_qemu.aug.in | 2 -- 9 files changed, 19 insertions(+), 74 deletions(-) diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in index 6707744bda..3ec1173c6f 100644 --- a/docs/formatdomain.html.in +++ b/docs/formatdomain.html.in @@ -5456,12 +5456,7 @@ qemu-kvm -net nic,model=3D? /dev/null some restrictions on actual value. For instance, latest QEMU (as of 2016-09-01) requires value to be a power of two from [256, 1024] range. - Since 2.3.0 (QEMU and KVM only) - Additionally, since 4.1.0 the - value can be set in the qemu.conf file in order - to override the hypervisor default value. Note that XML has - higher precedence because it's more specific. -

+ Since 2.3.0 (QEMU and KVM only)
<= br/> =20 In general you should leave this option alone, unless you are very certain you know what you are doing. @@ -5477,12 +5472,7 @@ qemu-kvm -net nic,model=3D? /dev/null range. In addition to that, this may work only for a subset of interface types, e.g. aforementioned QEMU enables this option only for vhostuser type. - Since 3.7.0 (QEMU and KVM only) - Additionally, since 4.1.0 the - value can be set in the qemu.conf file in order - to override the hypervisor default value. Note that XML has - higher precedence because it's more specific. -

+ Since 3.7.0 (QEMU and KVM only)
<= br/> =20 In general you should leave this option alone, unless you are very certain you know what you are doing. diff --git a/src/qemu/libvirtd_qemu.aug b/src/qemu/libvirtd_qemu.aug index 084290296a..c19bf3a43a 100644 --- a/src/qemu/libvirtd_qemu.aug +++ b/src/qemu/libvirtd_qemu.aug @@ -118,9 +118,6 @@ module Libvirtd_qemu =3D let vxhs_entry =3D bool_entry "vxhs_tls" | str_entry "vxhs_tls_x509_cert_dir" =20 - let virtio_entry =3D int_entry "rx_queue_size" - | int_entry "tx_queue_size" - (* Each entry in the config is one of the following ... *) let entry =3D default_tls_entry | vnc_entry @@ -140,7 +137,6 @@ module Libvirtd_qemu =3D | gluster_debug_level_entry | memory_entry | vxhs_entry - | virtio_entry =20 let comment =3D [ label "#comment" . del /#[ \t]*/ "# " . store /([^ \= t\n][^\n]*)?/ . del /\n/ "\n" ] let empty =3D [ label "#empty" . eol ] diff --git a/src/qemu/qemu.conf b/src/qemu/qemu.conf index 62c4265ea9..43dd561cca 100644 --- a/src/qemu/qemu.conf +++ b/src/qemu/qemu.conf @@ -775,9 +775,3 @@ # This directory is used for memoryBacking source if configured as file. # NOTE: big files will be stored here #memory_backing_dir =3D "/var/lib/libvirt/qemu/ram" - -# The following two values set the default RX/TX ring buffer size for virt= io -# interfaces. These values are taken unless overridden in domain XML. For = more -# info consult docs to corresponding attributes from domain XML. -#rx_queue_size =3D 1024 -#tx_queue_size =3D 1024 diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 2bcaa5fc22..f7925c93a8 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -3351,8 +3351,7 @@ qemuBuildNicStr(virDomainNetDefPtr net, =20 =20 char * -qemuBuildNicDevStr(virQEMUDriverConfigPtr cfg, - virDomainDefPtr def, +qemuBuildNicDevStr(virDomainDefPtr def, virDomainNetDefPtr net, int vlan, unsigned int bootindex, @@ -3472,41 +3471,21 @@ qemuBuildNicDevStr(virQEMUDriverConfigPtr cfg, virBufferAsprintf(&buf, ",mq=3Don,vectors=3D%zu", 2 * vhostfdS= ize + 2); } } - if (usingVirtio) { - unsigned int rx_queue_size =3D net->driver.virtio.rx_queue_size; - - if (rx_queue_size =3D=3D 0) - rx_queue_size =3D cfg->rx_queue_size; - - if (rx_queue_size) { - if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_VIRTIO_NET_RX_QUEUE_SI= ZE)) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("virtio rx_queue_size option is " - "not supported with this QEMU binary")); - goto error; - } - - net->driver.virtio.rx_queue_size =3D rx_queue_size; - virBufferAsprintf(&buf, ",rx_queue_size=3D%u", rx_queue_size); + if (usingVirtio && net->driver.virtio.rx_queue_size) { + if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_VIRTIO_NET_RX_QUEUE_SIZE))= { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("virtio rx_queue_size option is not supported= with this QEMU binary")); + goto error; } + virBufferAsprintf(&buf, ",rx_queue_size=3D%u", net->driver.virtio.= rx_queue_size); } - if (usingVirtio) { - unsigned int tx_queue_size =3D net->driver.virtio.tx_queue_size; - - if (tx_queue_size =3D=3D 0) - tx_queue_size =3D cfg->tx_queue_size; - - if (tx_queue_size) { - if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_VIRTIO_NET_TX_QUEUE_SI= ZE)) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("virtio tx_queue_size option is " - "not supported with this QEMU binary")); - goto error; - } - - net->driver.virtio.tx_queue_size =3D tx_queue_size; - virBufferAsprintf(&buf, ",tx_queue_size=3D%u", tx_queue_size); + if (usingVirtio && net->driver.virtio.tx_queue_size) { + if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_VIRTIO_NET_TX_QUEUE_SIZE))= { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("virtio tx_queue_size option is not supported= with this QEMU binary")); + goto error; } + virBufferAsprintf(&buf, ",tx_queue_size=3D%u", net->driver.virtio.= tx_queue_size); } =20 if (usingVirtio && net->mtu) { @@ -8192,7 +8171,7 @@ qemuBuildVhostuserCommandLine(virQEMUDriverPtr driver, virCommandAddArg(cmd, netdev); VIR_FREE(netdev); =20 - if (!(nic =3D qemuBuildNicDevStr(cfg, def, net, -1, bootindex, + if (!(nic =3D qemuBuildNicDevStr(def, net, -1, bootindex, queues, qemuCaps))) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("Error generating NIC -device string")); @@ -8229,7 +8208,6 @@ qemuBuildInterfaceCommandLine(virQEMUDriverPtr driver, int **nicindexes, bool chardevStdioLogd) { - virQEMUDriverConfigPtr cfg =3D NULL; int ret =3D -1; char *nic =3D NULL, *host =3D NULL; int *tapfd =3D NULL; @@ -8291,8 +8269,6 @@ qemuBuildInterfaceCommandLine(virQEMUDriverPtr driver, return -1; } =20 - cfg =3D virQEMUDriverGetConfig(driver); - switch (actualType) { case VIR_DOMAIN_NET_TYPE_NETWORK: case VIR_DOMAIN_NET_TYPE_BRIDGE: @@ -8488,7 +8464,7 @@ qemuBuildInterfaceCommandLine(virQEMUDriverPtr driver, virCommandAddArgList(cmd, "-netdev", host, NULL); } if (qemuDomainSupportsNicdev(def, net)) { - if (!(nic =3D qemuBuildNicDevStr(cfg, def, net, vlan, bootindex, + if (!(nic =3D qemuBuildNicDevStr(def, net, vlan, bootindex, vhostfdSize, qemuCaps))) goto cleanup; virCommandAddArgList(cmd, "-device", nic, NULL); @@ -8532,7 +8508,6 @@ qemuBuildInterfaceCommandLine(virQEMUDriverPtr driver, VIR_FREE(host); VIR_FREE(tapfdName); VIR_FREE(vhostfdName); - virObjectUnref(cfg); return ret; } =20 diff --git a/src/qemu/qemu_command.h b/src/qemu/qemu_command.h index 6449883291..31c9da673c 100644 --- a/src/qemu/qemu_command.h +++ b/src/qemu/qemu_command.h @@ -90,8 +90,7 @@ char *qemuBuildNicStr(virDomainNetDefPtr net, int vlan); =20 /* Current, best practice */ -char *qemuBuildNicDevStr(virQEMUDriverConfigPtr cfg, - virDomainDefPtr def, +char *qemuBuildNicDevStr(virDomainDefPtr def, virDomainNetDefPtr net, int vlan, unsigned int bootindex, diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c index 2fa96431fa..af503d31cb 100644 --- a/src/qemu/qemu_conf.c +++ b/src/qemu/qemu_conf.c @@ -912,10 +912,6 @@ int virQEMUDriverConfigLoadFile(virQEMUDriverConfigPtr= cfg, if (virConfGetValueString(conf, "memory_backing_dir", &cfg->memoryBack= ingDir) < 0) goto cleanup; =20 - if (virConfGetValueUInt(conf, "rx_queue_size", &cfg->rx_queue_size) < = 0 || - virConfGetValueUInt(conf, "tx_queue_size", &cfg->tx_queue_size) < = 0) - goto cleanup; - ret =3D 0; =20 cleanup: diff --git a/src/qemu/qemu_conf.h b/src/qemu/qemu_conf.h index 3f38a76c26..a553e30e2e 100644 --- a/src/qemu/qemu_conf.h +++ b/src/qemu/qemu_conf.h @@ -206,9 +206,6 @@ struct _virQEMUDriverConfig { =20 bool vxhsTLS; char *vxhsTLSx509certdir; - - unsigned int rx_queue_size; - unsigned int tx_queue_size; }; =20 /* Main driver state */ diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c index 3291ce6130..c9868de778 100644 --- a/src/qemu/qemu_hotplug.c +++ b/src/qemu/qemu_hotplug.c @@ -1118,7 +1118,7 @@ qemuDomainAttachNetDevice(virQEMUDriverPtr driver, for (i =3D 0; i < vhostfdSize; i++) VIR_FORCE_CLOSE(vhostfd[i]); =20 - if (!(nicstr =3D qemuBuildNicDevStr(cfg, vm->def, net, vlan, 0, + if (!(nicstr =3D qemuBuildNicDevStr(vm->def, net, vlan, 0, queueSize, priv->qemuCaps))) goto try_remove; =20 diff --git a/src/qemu/test_libvirtd_qemu.aug.in b/src/qemu/test_libvirtd_qe= mu.aug.in index 4fc4e2f4ec..688e5b9fda 100644 --- a/src/qemu/test_libvirtd_qemu.aug.in +++ b/src/qemu/test_libvirtd_qemu.aug.in @@ -100,5 +100,3 @@ module Test_libvirtd_qemu =3D { "1" =3D "mount" } } { "memory_backing_dir" =3D "/var/lib/libvirt/qemu/ram" } -{ "rx_queue_size" =3D "1024" } -{ "tx_queue_size" =3D "1024" } --=20 2.14.3 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list