On 18/11/2014 21:28, Dr. David Alan Gilbert wrote: > This seems odd, since as far as I know the tunneling code is quite separate > to the migration code; I thought the only thing that the migration > code sees different is the file descriptors it gets past. > (Having said that, again I don't know storage stuff, so if this > is a storage special there may be something there...)
Tunnelled migration uses the old block-migration.c code. Non-tunnelled migration uses the NBD server and block/mirror.c. The main problem with the old code is that uses a possibly unbounded amount of memory in mig_save_device_dirty and can have huge jitter if any serious workload is running in the guest. Paolo