Thanks for the patches! Gave the series a spin on my machine, and compared: * ps auxwf output (with various combinations of pc-q35-9.2+pve1,enable-s4=1,enable-s3=1 for a linux guest) * running with pc-q35-9.2 vs pc-q35-92+pve1 for a linux guest * comparing /sys/power/(state|mem_sleep|disk) (the last 2 seemed like a way to see S3/S4 support [0] * running with pc-q35-9.2 vs pc-q35-92+pve1 for a Windows guest and comparing powercfg /a output
Looked through the diff of the patches and skimmed the discussions for RFC, v1, v2. Some small suggestions for the docs-patch (which can be followed-up, if they are sensible imho) I'll send as reply to the patch. with and without those addressed for the series: Reviewed-by: Stoiko Ivanov <s.iva...@proxmox.com> Tested-By: Stoiko Ivanov <s.iva...@proxmox.com> [0] https://www.kernel.org/doc/Documentation/power/states.txt [1] https://learn.microsoft.com/en-us/windows-hardware/drivers/kernel/system-sleeping-states On Fri, 4 Apr 2025 14:53:36 +0200 Dominik Csapak <d.csa...@proxmox.com> wrote: > since they make some problems (e.g. windows hybrid shutdown is enabled > by default then -> which makes vGPU problem). Libvirt/virsh also > disables that by default (and tries preventing enabling it.) > > This series introduces a new pve1 version for 9.2 machine versions, and > pins new windows guests to that. (ignore the edge case for non-version > pinned machine types on windows, so they'll get always +pve0). > > Additionally I introduce 'enable-s{3,4}' settings so that users can > still manually enable that (in case it's needed), or disable it for > older machine types. (non hotpluggable). > > I deliberately did not introduce a GUI option for the enabling of > S3/S4 power states, since I don't think it'll come up often. > (If it does, we can still add something to the UI) > > changes from v2: > * style nits fixed (too long lines, etc) > * added now missing changes for SEV tests > * add some more info to docs + machine descriptions > > changes from v1: > * dropped the RFC for pinning qemu version in tests > (was not really related and we can still tackle that when we actually > encounter it, e.g. with qemu 10.0) > * dropped the saving of the pve machine version in the meta info > (just ignore that case and assign pve0) > * remove globalFlags instead of fixing it's use (there was only > one user anyway) > * move pveX pinning logic into windows_get_pinned_machine_version > * add pveX versiosn to qemu/machine capabilities api call > * add general description for pveX machine versions > * add docs patch to explain +pveX versions > > qemu-server: > > Dominik Csapak (8): > tests: cfg2cmd: add test for windows machine pinning from meta info > config to command: get rid of globalFlags > machine: correctly select pve machine version for non pinned windows > guests > machine: incorporate pve machine version when pinning windows guests > machine: add S3/S4 power state properties > machine: bump pve machine version and reverse the s3/s4 defaults > api: qemu machine capabilities: add custom pveX versions too > api: qemu machine capabilities: add description for pveX variants > > PVE/API2/Qemu/Machine.pm | 37 +++++++++- > PVE/QemuServer.pm | 8 ++- > PVE/QemuServer/Machine.pm | 72 +++++++++++++++++-- > test/cfg2cmd/bootorder-empty.conf.cmd | 4 +- > test/cfg2cmd/bootorder-legacy.conf.cmd | 4 +- > test/cfg2cmd/bootorder.conf.cmd | 4 +- > ...putype-icelake-client-deprecation.conf.cmd | 4 +- > .../custom-cpu-model-defaults.conf.cmd | 4 +- > .../custom-cpu-model-host-phys-bits.conf.cmd | 4 +- > test/cfg2cmd/custom-cpu-model.conf.cmd | 4 +- > test/cfg2cmd/efi-raw-template.conf.cmd | 4 +- > test/cfg2cmd/efi-raw.conf.cmd | 4 +- > test/cfg2cmd/efi-secboot-and-tpm-q35.conf.cmd | 4 +- > test/cfg2cmd/efi-secboot-and-tpm.conf.cmd | 4 +- > test/cfg2cmd/efidisk-on-rbd.conf.cmd | 4 +- > test/cfg2cmd/i440fx-viommu-virtio.conf.cmd | 4 +- > test/cfg2cmd/i440fx-win10-hostpci.conf.cmd | 4 +- > test/cfg2cmd/ide.conf.cmd | 4 +- > .../cfg2cmd/memory-hotplug-hugepages.conf.cmd | 4 +- > test/cfg2cmd/memory-hotplug.conf.cmd | 4 +- > test/cfg2cmd/memory-hugepages-1g.conf.cmd | 4 +- > test/cfg2cmd/memory-hugepages-2m.conf.cmd | 4 +- > test/cfg2cmd/minimal-defaults.conf.cmd | 4 +- > test/cfg2cmd/netdev-7.1-multiqueues.conf.cmd | 4 +- > test/cfg2cmd/netdev-7.1.conf.cmd | 4 +- > test/cfg2cmd/q35-ide.conf.cmd | 4 +- > .../q35-linux-hostpci-mapping.conf.cmd | 4 +- > .../q35-linux-hostpci-multifunction.conf.cmd | 4 +- > .../q35-linux-hostpci-template.conf.cmd | 4 +- > ...q35-linux-hostpci-x-pci-overrides.conf.cmd | 4 +- > test/cfg2cmd/q35-linux-hostpci.conf.cmd | 4 +- > test/cfg2cmd/q35-simple.conf.cmd | 4 +- > test/cfg2cmd/q35-viommu-intel.conf.cmd | 4 +- > test/cfg2cmd/q35-viommu-virtio.conf.cmd | 4 +- > test/cfg2cmd/q35-win10-hostpci.conf.cmd | 4 +- > test/cfg2cmd/q35-windows-pinning.conf | 5 ++ > test/cfg2cmd/q35-windows-pinning.conf.cmd | 24 +++++++ > test/cfg2cmd/seabios_serial.conf.cmd | 4 +- > test/cfg2cmd/sev-es.conf.cmd | 4 +- > test/cfg2cmd/sev-snp.conf.cmd | 4 +- > test/cfg2cmd/sev-std.conf.cmd | 4 +- > test/cfg2cmd/simple-btrfs.conf.cmd | 4 +- > test/cfg2cmd/simple-virtio-blk.conf.cmd | 4 +- > test/cfg2cmd/simple1-template.conf.cmd | 4 +- > test/cfg2cmd/simple1.conf.cmd | 4 +- > test/cfg2cmd/spice-win.conf.cmd | 4 +- > test/cfg2cmd/vnc-clipboard-spice.conf.cmd | 4 +- > test/cfg2cmd/vnc-clipboard-std.conf.cmd | 4 +- > 48 files changed, 260 insertions(+), 58 deletions(-) > create mode 100644 test/cfg2cmd/q35-windows-pinning.conf > create mode 100644 test/cfg2cmd/q35-windows-pinning.conf.cmd > > pve-docs: > > Dominik Csapak (1): > qm: pve machine version: add section to explain +pveX versions > > qm.adoc | 15 +++++++++++++++ > 1 file changed, 15 insertions(+) > _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel