[pve-devel] [PATCH guest-common/qemu-server/manager/docs v3 0/4] implement experimental vgpu live migration
Dominik Csapak
d.csapak at proxmox.com
Fri Apr 19 14:45:35 CEST 2024
and some useful cleanups
Resending even there was not much feedback, because i worked in some
minor fixes/changes in the meantime.
A user tested the previous patch series and only found one issue with
the ui, see the comments on bug #5175
https://bugzilla.proxmox.com/show_bug.cgi?id=5175
This is implemented for mapped resources. This requires driver and
hardware support, but aside from nvidia vgpus there don't seem to be
many drivers (if any) that do support that.
qemu already supports that for vfio-pci devices, so nothing to be
done there besides actively enabling it.
Since we currently can't properly test it here and very much depends on
hardware/driver support, mark it as experimental everywhere (docs/api/gui).
(though i tested the live-migration part manually here by using
"exec:cat > /tmp/test" for the migration target, and "exec: cat
/tmp/test" as the 'incoming' parameter for a new vm start, which worked ;) )
i opted for marking them migratable at the mapping level, but we could
theoretically also put it in the hostpciX config instead.
(though imho it fits better in the cluster-wide resource mapping config)
also the naming/texts could probably be improved, but i think
'live-migration-capable' is very descriptive and i didn't want to
use an overly short name for it (which can be confusing, see the
'shared' flag for storages)
guest-common 2/4 semi-breaks pve-manager without pve-manager 1/5
and qemu-server without 3/10
(would always fail for devices capable of mediated devices)
guest-common 1,2; qemu-server 1-6; pve-manager 1,2
are preparations/cleanups mostly and could be applied independently
changes from v2:
* rebased on master
* rework the rework of the properties check (pve-guest-common 1/4)
* properly check mdev in the gui (pve-manager 1/5)
remaining patches are unchaned
pve-guest-common:
Dominik Csapak (4):
mapping: pci: rework properties check
mapping: pci: check the mdev configuration on the device too
mapping: pci: add 'live-migration-capable' flag to mappings
mapping: remove find_on_current_node
src/PVE/Mapping/PCI.pm | 55 +++++++++++++++++++++++-------------------
src/PVE/Mapping/USB.pm | 9 -------
2 files changed, 30 insertions(+), 34 deletions(-)
qemu-server:
Dominik Csapak (10):
usb: mapping: move implementation of find_on_current_node here
pci: mapping: move implementation of find_on_current_node here
pci: mapping: check mdev config against hardware
stop cleanup: remove unnecessary tpmstate cleanup
vm_stop_cleanup: add noerr parameter
migrate: call vm_stop_cleanup after stopping in phase3_cleanup
pci: set 'enable-migration' to on for live-migration marked mapped
devices
check_local_resources: add more info per mapped device and return as
hash
api: enable live migration for marked mapped pci devices
api: include not mapped resources for running vms in migrate
preconditions
PVE/API2/Qemu.pm | 48 ++++++++++++++++++++++--------------
PVE/CLI/qm.pm | 2 +-
PVE/QemuMigrate.pm | 28 ++++++++++++---------
PVE/QemuServer.pm | 38 ++++++++++++++--------------
PVE/QemuServer/PCI.pm | 14 +++++++++--
PVE/QemuServer/USB.pm | 5 +++-
test/MigrationTest/Shared.pm | 3 +++
7 files changed, 84 insertions(+), 54 deletions(-)
pve-manager:
Dominik Csapak (5):
mapping: pci: include mdev in config checks
bulk migrate: improve precondition checks
bulk migrate: include checks for live-migratable local resources
ui: adapt migration window to precondition api change
fix #5175: ui: allow configuring and live migration of mapped pci
resources
PVE/API2/Cluster/Mapping/PCI.pm | 2 +-
PVE/API2/Nodes.pm | 27 ++++++++++++++--
www/manager6/dc/PCIMapView.js | 6 ++++
www/manager6/window/Migrate.js | 51 ++++++++++++++++++++-----------
www/manager6/window/PCIMapEdit.js | 12 ++++++++
5 files changed, 76 insertions(+), 22 deletions(-)
pve-docs:
Dominik Csapak (2):
qm: resource mapping: add description for `mdev` option
qm: resource mapping: document `live-migration-capable` setting
qm.adoc | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
--
2.39.2
More information about the pve-devel
mailing list