From: Xiao Guangrong <>

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(-)


Reply via email to