qemu/migration
Wei Yang 644acf99b8 migration/postcopy: enable compress during postcopy
postcopy requires to place a whole host page, while migration thread
migrate memory in target page size. This makes postcopy need to collect
all target pages in one host page before placing via userfaultfd.

To enable compress during postcopy, there are two problems to solve:

    1. Random order for target page arrival
    2. Target pages in one host page arrives without interrupt by target
       page from other host page

The first one is handled by previous cleanup patch.

This patch handles the second one by:

    1. Flush compress thread for each host page
    2. Wait for decompress thread for before placing host page

Signed-off-by: Wei Yang <richardw.yang@linux.intel.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
2020-01-20 09:10:23 +01:00
..
block-dirty-bitmap.c block/dirty-bitmap: refactor bdrv_dirty_bitmap_next 2019-10-17 17:02:32 -04:00
block.c block/dirty-bitmap: add bs link 2019-10-17 17:02:32 -04:00
block.h migration: disable auto-converge during bulk block migration 2017-09-27 11:27:14 +01:00
channel.c migration: fix the multifd code when receiving less channels 2019-01-23 15:02:07 +00:00
channel.h migration: Route errors down through migration_channel_connect 2018-02-06 10:55:12 +00:00
colo-failover.c migration/colo.c: Remove redundant input parameter 2019-05-14 17:33:35 +01:00
colo.c sysemu: Split sysemu/runstate.h off sysemu/sysemu.h 2019-08-16 13:37:36 +02:00
exec.c migration: unify incoming processing 2018-07-10 12:48:53 +01:00
exec.h migration: Export exec.c functions in its own file 2017-06-01 18:49:22 +02:00
fd.c migration: Fix fd protocol for incoming defer 2019-06-05 12:43:55 +02:00
fd.h migration: Fix fd protocol for incoming defer 2019-06-05 12:43:55 +02:00
global_state.c sysemu: Split sysemu/runstate.h off sysemu/sysemu.h 2019-08-16 13:37:36 +02:00
Makefile.objs COLO: Remove colo_state migration struct 2018-10-19 11:15:03 +08:00
migration.c migration/postcopy: enable compress during postcopy 2020-01-20 09:10:23 +01:00
migration.h migration: Rate limit inside host pages 2020-01-20 09:10:22 +01:00
page_cache.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
page_cache.h migration: Make cache_init() take an error parameter 2017-10-23 18:03:25 +02:00
postcopy-ram.c core: replace getpagesize() with qemu_real_host_page_size 2019-10-26 15:38:06 +02:00
postcopy-ram.h migration/postcopy: rename postcopy_ram_enable_notify to postcopy_ram_incoming_setup 2019-10-11 14:59:58 +01:00
qemu-file-channel.c Header cleanup patches for 2019-08-13 2019-08-16 14:53:43 +01:00
qemu-file-channel.h migration: Export qemu-file-channel.c functions in its own file 2017-05-18 19:20:50 +02:00
qemu-file.c migration/qemu-file: fix potential buf waste for extra buf_index adjustment 2019-09-12 11:23:32 +01:00
qemu-file.h Header cleanup patches for 2019-08-13 2019-08-16 14:53:43 +01:00
qjson.c qobject: Replace qobject_incref/QINCREF qobject_decref/QDECREF 2018-05-04 08:27:53 +02:00
qjson.h migration: fix vmdesc leak on vmstate_save() error 2019-09-25 15:51:19 +01:00
ram.c migration/postcopy: enable compress during postcopy 2020-01-20 09:10:23 +01:00
ram.h Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
rdma.c migration: Use automatic rcu_read unlock in rdma.c 2019-10-11 14:20:01 +01:00
rdma.h migration: Export rdma.c functions in its own file 2017-06-01 18:49:23 +02:00
savevm.c migration: savevm_state_handler_insert: constant-time element insertion 2020-01-20 09:10:22 +01:00
savevm.h migration: add new migration state wait-unplug 2019-10-29 18:55:26 -04:00
socket.c multifd: Use number of channels as listen backlog 2019-09-03 23:24:42 +02:00
socket.h migration: Export functions to create send channels 2018-05-15 20:24:27 +02:00
tls.c migration: add support for a "tls-authz" migration parameter 2019-03-25 18:13:47 +01:00
tls.h migration: Export tls.c functions in its own file 2017-06-01 18:49:23 +02:00
trace-events migration: Rate limit inside host pages 2020-01-20 09:10:22 +01:00
vmstate-types.c migration: Support gtree migration 2019-10-11 17:52:31 +01:00
vmstate.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
xbzrle.c migration: Create migration/xbzrle.h 2017-05-18 18:04:54 +02:00
xbzrle.h migration: Create migration/xbzrle.h 2017-05-18 18:04:54 +02:00