all lists on lists.proxmox.com
 help / color / mirror / Atom feed
* [pve-devel] [PATCH-SERIES qemu-server/manager v2 0/8] VM CPU flags: introduce vendor-agnostic 'nested-virt' CPU flag
@ 2025-11-07 14:43 Fiona Ebner
  2025-11-07 14:43 ` [pve-devel] [PATCH qemu-server v2 1/8] critic: code style: cpu config: unpack @_ first in resolve_cpu_flags() Fiona Ebner
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: Fiona Ebner @ 2025-11-07 14:43 UTC (permalink / raw)
  To: pve-devel

Changes in v2 (thanks Dano and Thomas!):
* Pass running CPU configuration when using 'nested-virt'. This
  ensures that migration fails early if the flag resolves differently
  on the target.
* Describe that live migration still only works if it's the same flag.
* Drop adding non-existing link in API end point.
* Keep $supported_cpu_flags private to module and add getter method.
* Unpack @_ first at the beginning of resolve_cpu_flags().
* ui: fix function call in the CPU flag selector widget.
* ui: use simpler method to get all records of the store.
* Drop already applied patches.

The flag will automatically resolve to the flag required for the
current CPU on the host. The 'nested-virt' flag takes precedence over
the CPU-specific flag for nesting which might already be present with
custom CPU models. In that case, a warning is printed.

Also makes sure that the actual resolved flag is passed along during
live migration, since the nested-virt flag can resolve differently on
different hosts.

Moves the cpu flag descriptions to qemu-server and introduces an API
endpoint for querying. Could later be extended with further
information, for example, which flags are actually supported on the
current host (some are specific to vendor or CPU).


Dependency and build-dependency bump pve-manger -> qemu-server needed!


qemu-server:

Fiona Ebner (4):
  critic: code style: cpu config: unpack @_ first in resolve_cpu_flags()
  api: add endpoint for querying available cpu flags
  cpu config: introduce is_abstracted() helper
  cpu config: introduce vendor-agnostic 'nested-virt' CPU flag

 src/PVE/API2/Qemu/CPUFlags.pm   |  44 +++++++++
 src/PVE/API2/Qemu/Makefile      |   2 +-
 src/PVE/QemuMigrate.pm          |  11 +--
 src/PVE/QemuServer/CPUConfig.pm | 160 ++++++++++++++++++++++++++++----
 4 files changed, 188 insertions(+), 29 deletions(-)
 create mode 100644 src/PVE/API2/Qemu/CPUFlags.pm


pve-manager:

Fiona Ebner (4):
  api: capabilities: register module for VM CPU flags
  ui: cpu flag selector: code style: use 'let' for declarations
  ui: cpu flag selector: use simpler method to get all records of the
    store
  ui: cpu flag selector: query CPU flag list via API

 PVE/API2/Capabilities.pm               |   6 ++
 www/manager6/form/VMCPUFlagSelector.js | 129 +++++++++++--------------
 2 files changed, 62 insertions(+), 73 deletions(-)


Summary over all repositories:
  6 files changed, 250 insertions(+), 102 deletions(-)

-- 
Generated by git-murpp 0.5.0


_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2025-11-07 14:44 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-11-07 14:43 [pve-devel] [PATCH-SERIES qemu-server/manager v2 0/8] VM CPU flags: introduce vendor-agnostic 'nested-virt' CPU flag Fiona Ebner
2025-11-07 14:43 ` [pve-devel] [PATCH qemu-server v2 1/8] critic: code style: cpu config: unpack @_ first in resolve_cpu_flags() Fiona Ebner
2025-11-07 14:43 ` [pve-devel] [PATCH qemu-server v2 2/8] api: add endpoint for querying available cpu flags Fiona Ebner
2025-11-07 14:43 ` [pve-devel] [PATCH qemu-server v2 3/8] cpu config: introduce is_abstracted() helper Fiona Ebner
2025-11-07 14:43 ` [pve-devel] [PATCH qemu-server v2 4/8] cpu config: introduce vendor-agnostic 'nested-virt' CPU flag Fiona Ebner
2025-11-07 14:43 ` [pve-devel] [PATCH manager v2 5/8] api: capabilities: register module for VM CPU flags Fiona Ebner
2025-11-07 14:43 ` [pve-devel] [PATCH manager v2 6/8] ui: cpu flag selector: code style: use 'let' for declarations Fiona Ebner
2025-11-07 14:43 ` [pve-devel] [PATCH manager v2 7/8] ui: cpu flag selector: use simpler method to get all records of the store Fiona Ebner
2025-11-07 14:43 ` [pve-devel] [PATCH manager v2 8/8] ui: cpu flag selector: query CPU flag list via API Fiona Ebner

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal