mbox series

[0/3] Optimize VM's downtime while do checkpoint in COLO

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

Message

Zhanghailiang Feb. 17, 2020, 1:20 a.m. UTC
Hi,

This is an untested serial that tries to reduce VM's pause time
while do checkpoint in COLO state.

The second patch tries to reduce 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.

The third patch tries to reduce the pause time of backup ram into
cache in secondary part.


Hailiang Zhang (3):
  migration/colo: wrap incoming checkpoint process into new helper
  COLO: Migrate dirty pages during the gap of checkpointing
  COLO: Optimize memory back-up process

 migration/colo.c       | 332 +++++++++++++++++++++++++----------------
 migration/migration.h  |   1 +
 migration/ram.c        |  35 ++++-
 migration/ram.h        |   1 +
 migration/trace-events |   1 +
 qapi/migration.json    |   4 +-
 6 files changed, 234 insertions(+), 140 deletions(-)

Comments

Dr. David Alan Gilbert Feb. 20, 2020, 6:27 p.m. UTC | #1
* Hailiang Zhang (zhang.zhanghailiang@huawei.com) wrote:
> Hi,
> 
> This is an untested serial that tries to reduce VM's pause time
> while do checkpoint in COLO state.
> 
> The second patch tries to reduce 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.
> 
> The third patch tries to reduce the pause time of backup ram into
> cache in secondary part.

This is quite nice; I've asked for a clarification on the last one, but
it's only a tidy up.

I guess this really helps continuous-COLO as well, because it means
that restarting to the sync to the new secondary is a lot simpler?

Dave

> 
> Hailiang Zhang (3):
>   migration/colo: wrap incoming checkpoint process into new helper
>   COLO: Migrate dirty pages during the gap of checkpointing
>   COLO: Optimize memory back-up process
> 
>  migration/colo.c       | 332 +++++++++++++++++++++++++----------------
>  migration/migration.h  |   1 +
>  migration/ram.c        |  35 ++++-
>  migration/ram.h        |   1 +
>  migration/trace-events |   1 +
>  qapi/migration.json    |   4 +-
>  6 files changed, 234 insertions(+), 140 deletions(-)
> 
> -- 
> 2.21.0
> 
> 
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK