"Dr. David Alan Gilbert" <dgilb...@redhat.com> writes: > * Peter Maydell (peter.mayd...@linaro.org) wrote: >> On 29 May 2015 at 11:34, Dr. David Alan Gilbert <dgilb...@redhat.com> wrote: >> > It's the destination I'm worried about here, not the source; lets say >> > you have two devices, a & b. 'a' gets serialised, but then 'b' finds >> > it has to wait, so we return to running the source and sending pages >> > across. However the destination has already loaded the 'a' device state; >> > so that when we serialise again we send a new 'a' device state'; I'm >> > worrying here that the destination 'a' state loader would get upset >> > trying to load the same state twice without somehow resetting it. >> >> You would need to reset the system before resending device state, >> I think. Device implementations rely on knowing that migration happens >> into a freshly reset device, and we don't have any way of resetting >> a single device, only the whole system at once. > > I don't think you can do a device (or certainly not a system) reset > without resending the contents of RAM which was the whole point of > not restarting the migration from the beginning.
What about resetting all the devices, but keeping contents of RAM, then send only newly dirtied RAM plus complete device state?