qemu/migration
Liang Li 94f5a43704 migration: defer migration_end & blk_mig_cleanup
Because of the patch 3ea3b7fa9af067982f34b of kvm, which introduces a
lazy collapsing of small sptes into large sptes mechanism, now
migration_end() is a time consuming operation because it calls
memroy_global_dirty_log_stop(), which will trigger the dropping of small
sptes operation and takes about dozens of milliseconds, so call
migration_end() before all the vmsate data has already been transferred
to the destination will prolong VM downtime. This operation should be
deferred after all the data has been transferred to the destination.

blk_mig_cleanup() can be deferred too.

For a VM with 8G RAM, this patch can reduce the VM downtime about 30 ms.

Signed-off-by: Liang Li <liang.z.li@intel.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>al3
Reviewed-by: Amit Shah <amit.shah@redhat.com>al3
Signed-off-by: Juan Quintela <quintela@redhat.com>al3
2015-11-04 13:40:13 +01:00
..
block.c migration: defer migration_end & blk_mig_cleanup 2015-11-04 13:40:13 +01:00
exec.c Change qemu_set_fd_handler2(..., NULL, ...) to qemu_set_fd_handler 2015-06-12 13:26:21 +01:00
fd.c Change qemu_set_fd_handler2(..., NULL, ...) to qemu_set_fd_handler 2015-06-12 13:26:21 +01:00
Makefile.objs Split the QEMU buffered file code out 2014-12-16 17:47:36 +05:30
migration.c migration: defer migration_end & blk_mig_cleanup 2015-11-04 13:40:13 +01:00
qemu-file-buf.c coroutine: move into libqemuutil.a library 2015-10-20 14:59:04 +01:00
qemu-file-internal.h Split struct QEMUFile out 2014-12-16 17:47:36 +05:30
qemu-file-stdio.c coroutine: move into libqemuutil.a library 2015-10-20 14:59:04 +01:00
qemu-file-unix.c coroutine: move into libqemuutil.a library 2015-10-20 14:59:04 +01:00
qemu-file.c coroutine: move into libqemuutil.a library 2015-10-20 14:59:04 +01:00
ram.c migration: defer migration_end & blk_mig_cleanup 2015-11-04 13:40:13 +01:00
rdma.c coroutine: move into libqemuutil.a library 2015-10-20 14:59:04 +01:00
savevm.c migration: Use g_new() & friends where that makes obvious sense 2015-09-29 11:36:35 +05:30
tcp.c Change qemu_set_fd_handler2(..., NULL, ...) to qemu_set_fd_handler 2015-06-12 13:26:21 +01:00
unix.c Change qemu_set_fd_handler2(..., NULL, ...) to qemu_set_fd_handler 2015-06-12 13:26:21 +01:00
vmstate.c vmstate: Create optional sections 2015-07-07 14:54:52 +02:00
xbzrle.c Start migrating migration code into a migration directory 2014-12-16 17:47:36 +05:30