On 30/07/20 21:09, Steven Sistare wrote: >> please spell it out. Also, how does the functionality compare to >> xen-save-devices-state and xen-load-devices-state? > > qmp_xen_save_devices_state serializes device state to a file which is loaded > on the target for a live migration. It performs some of the same actions > as cprsave/cprload but does not support live update-in-place.
So it is a subset, can code be reused across both? Also, live migration across versions is supported, so can you describe the special update-in-place support more precisely? I am confused about the use cases, which require (or try) to keep file descriptors across re-exec, which are for kexec, and so on. >>> cprsave and cprload support guests with vfio devices if the caller first >>> suspends the guest by issuing guest-suspend-ram to the qemu guest agent. >>> The guest drivers suspend methods flush outstanding requests and re- >>> initialize the devices, and thus there is no device state to save and >>> restore. >> This probably should be allowed even for regular migration. Can you >> generalize the code as a separate series? > > Maybe. I think that would be a distinct patch that ignores the vfio > migration blocker > if the state is suspended. Plus a qemu agent call to do the suspend. Needs > more > thought. The agent already supports suspend, so that should be relatively easy. Only the code to add/remove the VFIO migration blocker from a VM state change notifier, or something like that, would be needed. Paolo