qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH COLO-Frame v19 00/22] COarse-grain LOck-stepping


From: Hailiang Zhang
Subject: Re: [Qemu-devel] [PATCH COLO-Frame v19 00/22] COarse-grain LOck-stepping(COLO) Virtual Machines for Non-stop Service (FT)
Date: Fri, 9 Sep 2016 14:45:36 +0800
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1

ping ?

On 2016/9/1 11:24, zhanghailiang wrote:
This is the 19th version of COLO frame series.

According to the suggestion of Juan and Amit,
I dropped parts of the optimization patches to make it easier for review.

Besides, I discarded the network related patches since the development of
COLO proxy goes well, It is very likely to be merged in QEMU 2.8,
Please see [PATCH V12 02/10] colo-compare: introduce colo compare initialization
for more information. The original network related patches in this series are
to buffer the network packets till a checkpointing be successfully achieved,
just like Remus does in XEN, but these patches will be reverted in COLO compare
series. So here, it is unnecessary to add them.

You can still test this series like before. Or refer to docs/COLO-FT.txt.

It is based on 'Block replication' series which has been merged in Stefan's
branch https://github.com/stefanha/qemu/commits/block-next.

The complete codes can be found from the link:
https://github.com/coloft/qemu/commits/colo-v4.1-periodic-mode

Please review. Thanks ;)

TODO:
1. Checkpoint based on proxy in qemu
2. The capability of continuous FT
3. Optimize the VM's downtime during checkpoint

v19:
  - Add documentation about COLO (patch 21)
  - Dropped network related patches
  - Fix parts of patches' title and comments

zhanghailiang (22):
   migration: Introduce capability 'x-colo' to migration
   COLO: migrate COLO related info to secondary node
   migration: Enter into COLO mode after migration if COLO is enabled
   migration: Switch to COLO process after finishing loadvm
   COLO: Establish a new communicating path for COLO
   COLO: Introduce checkpointing protocol
   COLO: Add a new RunState RUN_STATE_COLO
   COLO: Send PVM state to secondary side when do checkpoint
   COLO: Load VMState into QIOChannelBuffer before restore it
   COLO: Add checkpoint-delay parameter for migrate-set-parameters
   COLO: Synchronize PVM's state to SVM periodically
   COLO: Add 'x-colo-lost-heartbeat' command to trigger failover
   COLO: Introduce state to record failover process
   COLO: Implement the process of failover for primary VM
   COLO: Implement failover work for secondary VM
   COLO: Shutdown related socket fd while do failover
   COLO: Don't do failover while loading VM's state
   COLO: Handle shutdown command for VM in COLO state
   COLO: Update the global runstate after going into colo state
   COLO: Add block replication into colo process
   docs: Add documentation for COLO feature
   configure: Support enable/disable COLO feature

  configure                     |  11 +
  docs/COLO-FT.txt              | 190 ++++++++++++
  hmp-commands.hx               |  15 +
  hmp.c                         |  15 +
  hmp.h                         |   1 +
  include/migration/colo.h      |  40 +++
  include/migration/failover.h  |  33 ++
  include/migration/migration.h |  11 +
  include/sysemu/sysemu.h       |   3 +
  migration/Makefile.objs       |   2 +
  migration/colo-comm.c         |  72 +++++
  migration/colo-failover.c     |  84 +++++
  migration/colo.c              | 694 ++++++++++++++++++++++++++++++++++++++++++
  migration/migration.c         |  86 +++++-
  migration/ram.c               |  37 ++-
  migration/trace-events        |   6 +
  qapi-schema.json              |  88 +++++-
  qmp-commands.hx               |  24 +-
  stubs/Makefile.objs           |   1 +
  stubs/migration-colo.c        |  51 ++++
  vl.c                          |  30 +-
  21 files changed, 1468 insertions(+), 26 deletions(-)
  create mode 100644 docs/COLO-FT.txt
  create mode 100644 include/migration/colo.h
  create mode 100644 include/migration/failover.h
  create mode 100644 migration/colo-comm.c
  create mode 100644 migration/colo-failover.c
  create mode 100644 migration/colo.c
  create mode 100644 stubs/migration-colo.c





reply via email to

[Prev in Thread] Current Thread [Next in Thread]