From nobody Tue Oct 28 17:53:19 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1760978470331414.03817466405326; Mon, 20 Oct 2025 09:41:10 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 993) id 8178641B69; Mon, 20 Oct 2025 12:41:07 -0400 (EDT) Received: from [172.19.199.20] (lists.libvirt.org [8.43.85.245]) by lists.libvirt.org (Postfix) with ESMTP id B020B43EBA; Mon, 20 Oct 2025 12:38:45 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 993) id 8D67E41AB3; Mon, 20 Oct 2025 12:38:28 -0400 (EDT) Received: from mail.porno-bullen.de (mail.porno-bullen.de [49.13.137.223]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (3072 bits) server-digest SHA256) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 850BF41A38 for ; Mon, 20 Oct 2025 12:38:26 -0400 (EDT) Received: from Anteaus.speedport.ip (p20030006514896e85510e90B3839C2d8.dip0.t-ipconnect.de [IPv6:2003:6:5148:96e8:5510:e90b:3839:c2d8]) by mail.porno-bullen.de (Postfix) with ESMTPSA id D814E5E834; Mon, 20 Oct 2025 18:36:39 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-3.3 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_PASS autolearn=unavailable autolearn_force=no version=4.0.1 X-Greylist: delayed 104 seconds by postgrey-1.37 at lists.libvirt.org; Mon, 20 Oct 2025 12:38:26 EDT From: Friedrich Oslage To: devel@lists.libvirt.org Subject: [PATCH 2/2] qemu: Update hyperv spinlock retries count default Date: Mon, 20 Oct 2025 18:34:30 +0200 Message-ID: <20251020163627.746587-3-friedrich@oslage.de> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251020163627.746587-1-friedrich@oslage.de> References: <20251020163627.746587-1-friedrich@oslage.de> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Message-ID-Hash: 3WVDUKHYFPK6QUPRU6ND6RXTP6S2Q3TN X-Message-ID-Hash: 3WVDUKHYFPK6QUPRU6ND6RXTP6S2Q3TN X-MailFrom: friedrich@oslage.de X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-devel.lists.libvirt.org-0; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: Friedrich Oslage X-Mailman-Version: 3.3.10 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-ZM-MESSAGEID: 1760978477459158500 Content-Type: text/plain; charset="utf-8" From: Friedrich Oslage Update default to 0xFFFFFFFF ("never notify" in qemu) and make retries attribute optional. Signed-off-by: Friedrich Oslage --- src/conf/domain_conf.c | 9 +-- ...-spinlocks-never-notify.x86_64-latest.args | 32 +++++++++++ ...v-spinlocks-never-notify.x86_64-latest.xml | 56 +++++++++++++++++++ .../hyperv-spinlocks-never-notify.xml | 50 +++++++++++++++++ tests/qemuxmlconftest.c | 1 + 5 files changed, 144 insertions(+), 4 deletions(-) create mode 100644 tests/qemuxmlconfdata/hyperv-spinlocks-never-notify.x86= _64-latest.args create mode 100644 tests/qemuxmlconfdata/hyperv-spinlocks-never-notify.x86= _64-latest.xml create mode 100644 tests/qemuxmlconfdata/hyperv-spinlocks-never-notify.xml diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 7c951fdc32..96072f313b 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -17126,8 +17126,8 @@ virDomainFeaturesHyperVDefParse(virDomainDef *def, if (value !=3D VIR_TRISTATE_SWITCH_ON) break; =20 - if (virXMLPropUInt(node, "retries", 0, VIR_XML_PROP_REQUIRED, - &def->hyperv.spinlocks) < 0) + if (virXMLPropUIntDefault(node, "retries", 0, VIR_XML_PROP_NON= E, + &def->hyperv.spinlocks, UINT_MAX) < = 0) return -1; =20 if (def->hyperv.spinlocks < 0xFFF) { @@ -28632,8 +28632,9 @@ virDomainFeaturesHyperVDefFormat(virBuffer *buf, =20 case VIR_DOMAIN_HYPERV_SPINLOCKS: if (def->hyperv.features[j] =3D=3D VIR_TRISTATE_SWITCH_ON) { - virBufferAsprintf(&hypervAttrBuf, - " retries=3D'%u'", def->hyperv.spinlocks= ); + if (def->hyperv.spinlocks !=3D UINT_MAX) + virBufferAsprintf(&hypervAttrBuf, + " retries=3D'%u'", def->hyperv.spinl= ocks); } break; =20 diff --git a/tests/qemuxmlconfdata/hyperv-spinlocks-never-notify.x86_64-lat= est.args b/tests/qemuxmlconfdata/hyperv-spinlocks-never-notify.x86_64-lates= t.args new file mode 100644 index 0000000000..bb66adc6a4 --- /dev/null +++ b/tests/qemuxmlconfdata/hyperv-spinlocks-never-notify.x86_64-latest.args @@ -0,0 +1,32 @@ +LC_ALL=3DC \ +PATH=3D/bin \ +HOME=3D/var/lib/libvirt/qemu/domain--1-QEMUGuest1 \ +USER=3Dtest \ +LOGNAME=3Dtest \ +XDG_DATA_HOME=3D/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.local/share \ +XDG_CACHE_HOME=3D/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.cache \ +XDG_CONFIG_HOME=3D/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ +/usr/bin/qemu-system-x86_64 \ +-name guest=3DQEMUGuest1,debug-threads=3Don \ +-S \ +-object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/va= r/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ +-machine pc,usb=3Doff,dump-guest-core=3Doff,memory-backend=3Dpc.ram,acpi= =3Don \ +-accel tcg \ +-cpu 'qemu64,hv-time=3Don,hv-relaxed=3Don,hv-vapic=3Don,hv-spinlocks=3D0xf= fffffff,hv-vpindex=3Don,hv-runtime=3Don,hv-synic=3Don,hv-stimer=3Don,hv-res= et=3Don,hv-vendor-id=3DKVM Hv,hv-frequencies=3Don,hv-reenlightenment=3Don,h= v-tlbflush=3Don,hv-tlbflush-direct=3Don,hv-tlbflush-ext=3Don,hv-ipi=3Don,hv= -evmcs=3Don,hv-avic=3Don,hv-emsr-bitmap=3Don,hv-xmm-input=3Don' \ +-m size=3D219136k \ +-object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}'= \ +-overcommit mem-lock=3Doff \ +-smp 6,sockets=3D6,cores=3D1,threads=3D1 \ +-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \ +-display none \ +-no-user-config \ +-nodefaults \ +-chardev socket,id=3Dcharmonitor,fd=3D1729,server=3Don,wait=3Doff \ +-mon chardev=3Dcharmonitor,id=3Dmonitor,mode=3Dcontrol \ +-rtc base=3Dutc \ +-no-shutdown \ +-boot strict=3Don \ +-device '{"driver":"piix3-usb-uhci","id":"usb","bus":"pci.0","addr":"0x1.0= x2"}' \ +-audiodev '{"id":"audio1","driver":"none"}' \ +-sandbox on,obsolete=3Ddeny,elevateprivileges=3Ddeny,spawn=3Ddeny,resource= control=3Ddeny \ +-msg timestamp=3Don diff --git a/tests/qemuxmlconfdata/hyperv-spinlocks-never-notify.x86_64-lat= est.xml b/tests/qemuxmlconfdata/hyperv-spinlocks-never-notify.x86_64-latest= .xml new file mode 100644 index 0000000000..30efa09370 --- /dev/null +++ b/tests/qemuxmlconfdata/hyperv-spinlocks-never-notify.x86_64-latest.xml @@ -0,0 +1,56 @@ + + QEMUGuest1 + c7a5fdbd-edaf-9455-926a-d65c16db1809 + 219100 + 219100 + 6 + + hvm + + + + + + + + + + + + + + + + + + + + + + + + + + + + + qemu64 + + + + + destroy + restart + destroy + + /usr/bin/qemu-system-x86_64 + +
+ + + + +