From: Xiao Guangrong <xiaoguangrong@xxxxxxxxxxx> Changelog in v3: Thanks to Peter's comments, the changes in this version are: 1) make compress-wait-thread be true on default to keep current behavior 2) save the compressed-size instead of reduced size and fix calculating compression ratio 3) fix calculating xbzrle_counters.cache_miss_rate and compression_counters.busy_rate Xiao Guangrong (10): migration: do not wait for free thread migration: fix counting normal page for compression migration: introduce save_zero_page_to_file migration: drop the return value of do_compress_ram_page migration: move handle of zero page to the thread migration: hold the lock only if it is really needed migration: do not flush_compressed_data at the end of each iteration migration: handle the error condition properly migration: fix calculating xbzrle_counters.cache_miss_rate migration: show the statistics of compression hmp.c | 21 ++++ include/qemu/queue.h | 1 + migration/migration.c | 33 ++++++ migration/migration.h | 1 + migration/ram.c | 283 +++++++++++++++++++++++++++++++++++++------------- migration/ram.h | 1 + qapi/migration.json | 49 +++++++-- 7 files changed, 308 insertions(+), 81 deletions(-) -- 2.14.4