public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: Dominik Csapak <d.csapak@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: [pve-devel] [PATCH guest-common/qemu-server/manager/docs] enable experimental support for pci live migration
Date: Mon, 18 Mar 2024 12:18:27 +0100	[thread overview]
Message-ID: <20240318111836.1947580-1-d.csapak@proxmox.com> (raw)

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)

note that patch 1 of qemu-server is only a cosmetic fix that i
encountered while testing and can be applied independently

pve-guest-common:

Dominik Csapak (2):
  mapping: pci: add 'live-migration-capable' flag to mappings
  mapping: pci: optionally return the config in 'find_on_current_node'

 src/PVE/Mapping/PCI.pm | 16 +++++++++++++---
 1 file changed, 13 insertions(+), 3 deletions(-)

qemu-server:

Dominik Csapak (4):
  usb: fix undef error on string match
  pci: set 'enable-migration' to on for live-migration marked mapped
    devices
  check_local_resources: add more info per mapped device
  api: enable live migration for marked mapped pci devices

 PVE/API2/Qemu.pm      |  7 ++++++-
 PVE/QemuMigrate.pm    | 13 +++++++++----
 PVE/QemuServer.pm     | 12 +++++++-----
 PVE/QemuServer/PCI.pm |  8 +++++++-
 4 files changed, 29 insertions(+), 11 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(+)

pve-manager:

Dominik Csapak (1):
  ui: allow configuring and live migration of mapped pci resources

 www/manager6/window/Migrate.js    | 22 +++++++++++++++++++---
 www/manager6/window/PCIMapEdit.js | 12 ++++++++++++
 2 files changed, 31 insertions(+), 3 deletions(-)

-- 
2.39.2





             reply	other threads:[~2024-03-18 11:19 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-18 11:18 Dominik Csapak [this message]
2024-03-18 11:18 ` [pve-devel] [PATCH guest-common 1/2] mapping: pci: add 'live-migration-capable' flag to mappings Dominik Csapak
2024-03-22 13:37   ` Fiona Ebner
2024-04-02  9:30     ` Dominik Csapak
2024-04-10 10:09       ` Fiona Ebner
2024-03-18 11:18 ` [pve-devel] [PATCH guest-common 2/2] mapping: pci: optionally return the config in 'find_on_current_node' Dominik Csapak
2024-03-22 13:38   ` Fiona Ebner
2024-04-02  9:32     ` Dominik Csapak
2024-03-18 11:18 ` [pve-devel] [PATCH qemu-server 1/4] usb: fix undef error on string match Dominik Csapak
2024-03-22 13:36   ` Fiona Ebner
2024-03-18 11:18 ` [pve-devel] [PATCH qemu-server 2/4] pci: set 'enable-migration' to on for live-migration marked mapped devices Dominik Csapak
2024-03-18 11:18 ` [pve-devel] [PATCH qemu-server 3/4] check_local_resources: add more info per mapped device Dominik Csapak
2024-03-22 13:37   ` Fiona Ebner
2024-04-02  9:35     ` Dominik Csapak
2024-03-18 11:18 ` [pve-devel] [PATCH qemu-server 4/4] api: enable live migration for marked mapped pci devices Dominik Csapak
2024-03-22 13:37   ` Fiona Ebner
2024-04-02  9:36     ` Dominik Csapak
2024-03-18 11:18 ` [pve-devel] [PATCH docs 1/2] qm: resource mapping: add description for `mdev` option Dominik Csapak
2024-03-18 11:18 ` [pve-devel] [PATCH docs 2/2] qm: resource mapping: document `live-migration-capable` setting Dominik Csapak
2024-03-18 11:18 ` [pve-devel] [PATCH manager 1/1] ui: allow configuring and live migration of mapped pci resources Dominik Csapak

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240318111836.1947580-1-d.csapak@proxmox.com \
    --to=d.csapak@proxmox.com \
    --cc=pve-devel@lists.proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal