On Wed, Oct 25, 2023 at 10:58:16AM -0400, Peter Xu wrote: > On Wed, Oct 25, 2023 at 03:20:16PM +0100, Daniel P. Berrangé wrote: > > On Wed, Oct 25, 2023 at 10:57:12AM -0300, Fabiano Rosas wrote: > > > Daniel P. Berrangé <berra...@redhat.com> writes: > > > > > > > On Mon, Oct 23, 2023 at 05:35:45PM -0300, Fabiano Rosas wrote: > > > >> Add a capability that allows the management layer to delegate to QEMU > > > >> the decision of whether to pause a VM and perform a non-live > > > >> migration. Depending on the type of migration being performed, this > > > >> could bring performance benefits. > > > > > > > > I'm not really see what problem this is solving. > > > > > > > > > > Well, this is the fruit of your discussion with Peter Xu in the previous > > > version of the patch. > > > > > > To recap: he thinks QEMU is doing useless work with file migrations > > > because they are always asynchronous. He thinks we should always pause > > > before doing fixed-ram migration. You said that libvirt would rather use > > > fixed-ram for a more broad set of savevm-style commands, so you'd rather > > > not always pause. I'm trying to cater to both of your wishes. This new > > > capability is the middle ground I came up with. > > > > > > So fixed-ram would always pause the VM, because that is the primary > > > use-case, but libvirt would be allowed to say: don't pause this time. > > > > If the VM is going to be powered off immediately after saving > > a snapshot then yes, you might as well pause it, but we can't > > assume that will be the case. An equally common use case > > would be for saving periodic snapshots of a running VM. This > > should be transparent such that the VM remains running the > > whole time, except a narrow window at completion of RAM/state > > saving where we flip the disk snapshots, so they are in sync > > with the RAM snapshot. > > Libvirt will still use fixed-ram for live snapshot purpose, especially for > Windows? Then auto-pause may still be useful to identify that from what > Fabiano wants to achieve here (which is in reality, non-live)? > > IIRC of previous discussion that was the major point that libvirt can still > leverage fixed-ram for a live case - since Windows lacks efficient live > snapshot (background-snapshot feature).
Libvirt will use fixed-ram for all APIs it has that involve saving to disk, with CPUs both running and paused. > From that POV it sounds like auto-pause is a good knob for that. >From libvirt's POV auto-pause will create extra work for integration for no gain. 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 :|