References: bsc#1228227
These additional options if used will improve performance for windows VMs.
vpindex makes sense in conjunction with synic and stimer
synic requires vpindex
stimer requires vpindex and synic
--- virt-manager-4.1.0/virtinst/domain/features.py.orig 2024-07-23 14:08:31.059017630 -0600
+++ virt-manager-4.1.0/virtinst/domain/features.py 2024-07-23 14:09:33.071019107 -0600
@@ -32,7 +32,9 @@ class DomainFeatures(XMLBuilder):
hyperv_spinlocks = XMLProperty("./hyperv/spinlocks/@state", is_onoff=True)
hyperv_spinlocks_retries = XMLProperty("./hyperv/spinlocks/@retries",
is_int=True)
+ hyperv_vpindex = XMLProperty("./hyperv/vpindex/@state", is_onoff=True)
hyperv_synic = XMLProperty("./hyperv/synic/@state", is_onoff=True)
+ hyperv_stimer = XMLProperty("./hyperv/stimer/@state", is_onoff=True)
vmport = XMLProperty("./vmport/@state", is_onoff=True)
kvm_hidden = XMLProperty("./kvm/hidden/@state", is_onoff=True)
@@ -84,3 +86,9 @@ class DomainFeatures(XMLBuilder):
self.hyperv_spinlocks = True
if self.hyperv_spinlocks_retries is None:
self.hyperv_spinlocks_retries = 8191
+ if self.hyperv_vpindex is None:
+ self.hyperv_vpindex = True
+ if self.hyperv_synic is None:
+ self.hyperv_synic = True
+ if self.hyperv_stimer is None:
+ self.hyperv_stimer = True
--- virt-manager-4.1.0/virtinst/cli.py.orig 2024-07-23 13:37:39.086973500 -0600
+++ virt-manager-4.1.0/virtinst/cli.py 2024-07-23 13:38:28.030974666 -0600
@@ -2989,7 +2989,9 @@ class ParserFeatures(VirtCLIParser):
"hyperv.relaxed.state": "hyperv_relaxed",
"hyperv.spinlocks.state": "hyperv_spinlocks",
"hyperv.spinlocks.retries": "hyperv_spinlocks_retries",
+ "hyperv.vpindex.state": "hyperv_vpindex",
"hyperv.synic.state": "hyperv_synic",
+ "hyperv.stimer.state": "hyperv_stimer",
}
@classmethod
@@ -3010,7 +3012,9 @@ class ParserFeatures(VirtCLIParser):
cls.add_arg("hyperv.relaxed.state", "hyperv_relaxed", is_onoff=True)
cls.add_arg("hyperv.spinlocks.state", "hyperv_spinlocks", is_onoff=True)
cls.add_arg("hyperv.spinlocks.retries", "hyperv_spinlocks_retries")
+ cls.add_arg("hyperv.vpindex.state", "hyperv_vpindex", is_onoff=True)
cls.add_arg("hyperv.synic.state", "hyperv_synic", is_onoff=True)
+ cls.add_arg("hyperv.stimer.state", "hyperv_stimer", is_onoff=True)
cls.add_arg("vmport.state", "vmport", is_onoff=True)
cls.add_arg("kvm.hidden.state", "kvm_hidden", is_onoff=True)
--- virt-manager-4.1.0/tests/test_cli.py.orig 2024-07-23 14:37:19.511058816 -0600
+++ virt-manager-4.1.0/tests/test_cli.py 2024-07-23 14:38:46.819060897 -0600
@@ -554,7 +554,7 @@ memorytune0.vcpus=0-3,memorytune0.node0.
--metadata title=my-title,description=my-description,uuid=00000000-1111-2222-3333-444444444444,genid=e9392370-2917-565e-692b-d057f46512d6,genid_enable=yes
---features apic.eoi=off,hap=on,hyperv.synic.state=on,hyperv.reset.state=off,hyperv.spinlocks.state=on,hyperv.spinlocks.retries=5678,pae=on,pmu.state=on,pvspinlock.state=off,smm.state=off,viridian=on,vmcoreinfo.state=on,vmport.state=off,kvm.hidden.state=on,hyperv.vapic.state=off,hyperv.relaxed.state=off,gic.version=host,kvm.hint-dedicated.state=on,kvm.poll-control.state=on,ioapic.driver=qemu,acpi=off,eoi=on,privnet=on,hyperv_synic=on,hyperv_reset=on,hyperv_spinlocks=on,hyperv_spinlocks_retries=5678,vmport=off,pmu=off,vmcoreinfo=on,kvm_hidden=off,hyperv_vapic=on,smm=off
+--features apic.eoi=off,hap=on,hyperv.vpindex.state=on,hyperv.synic.state=on,hyperv.stimer.state=on,hyperv.reset.state=off,hyperv.spinlocks.state=on,hyperv.spinlocks.retries=5678,pae=on,pmu.state=on,pvspinlock.state=off,smm.state=off,viridian=on,vmcoreinfo.state=on,vmport.state=off,kvm.hidden.state=on,hyperv.vapic.state=off,hyperv.relaxed.state=off,gic.version=host,kvm.hint-dedicated.state=on,kvm.poll-control.state=on,ioapic.driver=qemu,acpi=off,eoi=on,privnet=on,hyperv_vpindex=on,hyperv_synic=on,hyperv_stimer=on,hyperv_reset=on,hyperv_spinlocks=on,hyperv_spinlocks_retries=5678,vmport=off,pmu=off,vmcoreinfo=on,kvm_hidden=off,hyperv_vapic=on,smm=off
--clock offset=utc,hpet_present=no,rtc_tickpolicy=merge,timer2.name=hypervclock,timer3.name=pit,timer1.present=yes,timer3.tickpolicy=delay,timer2.present=no,timer4.name=rtc,timer5.name=tsc,timer6.name=tsc,timer4.track=wall,timer5.frequency=10,timer6.mode=emulate,timer7.name=rtc,timer7.tickpolicy=catchup,timer7.catchup.threshold=123,timer7.catchup.slew=120,timer7.catchup.limit=10000,rtc_present=no,pit_present=yes,pit_tickpolicy=catchup,tsc_present=no,platform_present=no,hypervclock_present=no,platform_tickpolicy=foo,hpet_tickpolicy=bar,tsc_tickpolicy=wibble,kvmclock_tickpolicy=wobble,hypervclock_tickpolicy=woo
--- virt-manager-4.1.0/tests/data/cli/compare/virt-install-many-devices.xml.orig 2024-07-23 14:45:20.019070266 -0600
+++ virt-manager-4.1.0/tests/data/cli/compare/virt-install-many-devices.xml 2024-07-23 14:45:41.667070782 -0600
@@ -138,7 +138,9 @@
+
+
--- virt-manager-4.1.0/tests/data/cli/compare/virt-install-win7-uefi.xml.orig 2024-07-23 15:09:45.803105194 -0600
+++ virt-manager-4.1.0/tests/data/cli/compare/virt-install-win7-uefi.xml 2024-07-23 15:11:30.679107693 -0600
@@ -23,6 +23,9 @@
+
+
+
@@ -124,6 +127,9 @@
+
+
+
--- virt-manager-4.1.0/tests/data/cli/compare/virt-install-kvm-win10.xml.orig 2024-07-23 15:09:30.155104821 -0600
+++ virt-manager-4.1.0/tests/data/cli/compare/virt-install-kvm-win10.xml 2024-07-23 15:10:20.443106019 -0600
@@ -21,6 +21,9 @@
+
+
+
@@ -96,6 +99,9 @@
+
+
+
--- virt-manager-4.1.0/tests/data/cli/compare/virt-install-os-detect-fail-fallback.xml.orig 2024-07-23 15:12:52.567109644 -0600
+++ virt-manager-4.1.0/tests/data/cli/compare/virt-install-os-detect-fail-fallback.xml 2024-07-23 15:12:13.607108716 -0600
@@ -19,6 +19,9 @@
+
+
+
@@ -67,6 +70,9 @@
+
+
+
--- virt-manager-4.1.0/tests/data/cli/compare/virt-install-kvm-win2k3-cdrom.xml.orig 2024-07-23 15:09:35.051104938 -0600
+++ virt-manager-4.1.0/tests/data/cli/compare/virt-install-kvm-win2k3-cdrom.xml 2024-07-23 15:10:40.211106490 -0600
@@ -21,6 +21,9 @@
+
+
+
@@ -93,6 +96,9 @@
+
+
+
--- virt-manager-4.1.0/tests/data/cli/compare/virt-install-w2k3-cdrom.xml.orig 2024-07-23 15:22:42.151123693 -0600
+++ virt-manager-4.1.0/tests/data/cli/compare/virt-install-w2k3-cdrom.xml 2024-07-23 15:23:37.299125007 -0600
@@ -20,6 +20,9 @@
+
+
+
@@ -72,6 +75,9 @@
+
+
+
--- virt-manager-4.1.0/tests/data/cli/compare/virt-install-unattended-remote-cdrom.xml.orig 2024-07-23 15:23:07.827124305 -0600
+++ virt-manager-4.1.0/tests/data/cli/compare/virt-install-unattended-remote-cdrom.xml 2024-07-23 15:24:16.387125939 -0600
@@ -19,6 +19,9 @@
+
+
+
@@ -78,6 +81,9 @@
+
+
+
--- virt-manager-4.1.0/tests/data/cli/compare/virt-install-osinfo-win7-unattended.xml.orig 2024-07-23 15:22:54.103123978 -0600
+++ virt-manager-4.1.0/tests/data/cli/compare/virt-install-osinfo-win7-unattended.xml 2024-07-23 15:23:56.535125466 -0600
@@ -20,6 +20,9 @@
+
+
+
@@ -111,6 +114,9 @@
+
+
+