Re: Steps towards live migration

Daniel P. Berrangé <[email protected]> Mon, 7 Jul 2025 12:24:25 +0100
Newsgroups dev.linux.lists.coconut-svsm
Message-ID <[email protected]>
On Fri, Jun 27, 2025 at 03:45:56PM +0200, Jakub Růžička wrote:
> The QEMU patch[2] implements communication with the SVSM migration handler and
> block transfer from source to destination. The idea is that creating the
> communication channel is all the hypervisor should do, the rest should be done
> in SVSM.

QEMU normally has device state that needs to be preserved across a live
migration. If this isn't done then the target VM devices will all be in
their initial state from after a machine board reset, which won't match
the state the guest OS believes the devices are currently in.

I very much doubt QEMU will want to support a new SNP migration protocol
and monitor commands, as opposed to integrating SNP migration into their
existing protocol & monitor commands.

Also this migration memory transfer code in QEMU is completely single
threaded over a single channel, while QEMU is moving towards expecting
multi-threaded and multi-TCP chanels being its baseline. Achieving live
migration convergence with only a single thread & TCP channel is often
not practical under highly loaded VMs.  So ideally any comms protocol
for QEMU<->SVSM would be designed to enable QEMU to transfer guest
pages to/from SVSM in parallel across many threads.

With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|