On Mon, Jul 22, 2024 at 10:59:47AM +0200, David Hildenbrand wrote: > > So I wonder whether there's comparison between exec() and transfer mode > > that you recently proposed. > > > > I'm asking because exec() (besides all the rest of things that I dislike on > > it in this approach..) should be simply slower, logically, due to the > > serialized operation to (1) tearing down the old mm, (2) reload the new > > ELF, then (3) runs through the QEMU init process. > > > > If with a generic migration solution, the dest QEMU can start running (2+3) > > concurrently without even need to run (1). > > I'll note (not sure if already discussed) that with the "async-teardown" > option we have a way to move the MM teardown to a separate process, such > that it will happen asynchronously.
I just had a look, maybe it won't trivially work, as it relies on QEMU process to quit first.. async_teardown_fn(): if (the_ppid == getppid()) { pause(); } While if we stick with exec(), then PID shouldn't change, so the teardown process can hold the mm and pause until the VM is destroyed.. Thanks, -- Peter Xu