mbox series

[V2,0/8] Optimize VM's downtime while do checkpoint in COLO

Message ID 20200224065414.36524-1-zhang.zhanghailiang@huawei.com
Headers show
Series Optimize VM's downtime while do checkpoint in COLO | expand

Message

Zhanghailiang Feb. 24, 2020, 6:54 a.m. UTC
This series try to  tries to reduce VM's pause time while do checkpoint in COLO state.

Here, we use two methods to reduce the downtime during COLO stage:
The first one is to reduce the time of backup PVM's memory into cache,
Instread of doing this once time backup all PVM's memory when VM is stopped, we backup
them during the live migration time.

Secondly, we reduced the total number of dirty pages while do checkpoint with VM been paused,
instead of sending all dirty pages while VM been pause, it sends part of dirty pages
during the gap time of two checkpoints when SVM and PVM are running.

V1 -> V2:
- Fix tested problem found by Daniel Cho
- Fix a degradation after rebase to master (first patch)

Please review, thanks.

Hailiang Zhang (8):
  migration: fix COLO broken caused by a previous commit
  migration/colo: wrap incoming checkpoint process into new helper
  savevm: Don't call colo_init_ram_cache twice
  COLO: Optimize memory back-up process
  ram/colo: only record bitmap of dirty pages in COLO stage
  migration: recognize COLO as part of activating process
  COLO: Migrate dirty pages during the gap of checkpointing
  migration/colo: Only flush ram cache while do checkpoint

 migration/colo.c       | 337 +++++++++++++++++++++++++----------------
 migration/migration.c  |   7 +-
 migration/migration.h  |   1 +
 migration/ram.c        |  78 +++++++---
 migration/ram.h        |   2 +
 migration/trace-events |   1 +
 qapi/migration.json    |   4 +-
 7 files changed, 269 insertions(+), 161 deletions(-)

--
2.21.0