From: Xiao Guangrong <xiaoguangrong@xxxxxxxxxxx> This is the first part of our work to improve compression to make it be more useful in the production. The first patch resolves the problem that the migration thread spends too much CPU resource to compression memory if it jumps to a new block that causes the network is used very deficient. The second patch fixes the performance issue that too many VM-exits happen during live migration if compression is being used, it is caused by huge memory returned to kernel frequently as the memory is allocated and freed for every signal call to compress2() The remaining patches clean the code up dramatically Xiao Guangrong (8): migration: stop compressing page in migration thread migration: stop allocating and freeing memory frequently migration: support to detect compression and decompression errors migration: introduce control_save_page() migration: move calling control_save_page to the common place migration: move calling save_zero_page to the common place migration: introduce save_normal_page() migration: remove ram_save_compressed_page() migration/qemu-file.c | 38 ++++- migration/qemu-file.h | 6 +- migration/ram.c | 430 +++++++++++++++++++++++++++++--------------------- 3 files changed, 290 insertions(+), 184 deletions(-) -- 2.14.3