[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH COLO-Frame v19 00/22] COarse-grain LOck-stepping(COL
From: |
zhanghailiang |
Subject: |
[Qemu-devel] [PATCH COLO-Frame v19 00/22] COarse-grain LOck-stepping(COLO) Virtual Machines for Non-stop Service (FT) |
Date: |
Thu, 1 Sep 2016 11:24:03 +0800 |
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
--
1.8.3.1
- [Qemu-devel] [PATCH COLO-Frame v19 00/22] COarse-grain LOck-stepping(COLO) Virtual Machines for Non-stop Service (FT),
zhanghailiang <=
- [Qemu-devel] [PATCH COLO-Frame v19 02/22] COLO: migrate COLO related info to secondary node, zhanghailiang, 2016/08/31
- [Qemu-devel] [PATCH COLO-Frame v19 05/22] COLO: Establish a new communicating path for COLO, zhanghailiang, 2016/08/31
- [Qemu-devel] [PATCH COLO-Frame v19 04/22] migration: Switch to COLO process after finishing loadvm, zhanghailiang, 2016/08/31
- [Qemu-devel] [PATCH COLO-Frame v19 07/22] COLO: Add a new RunState RUN_STATE_COLO, zhanghailiang, 2016/08/31
- [Qemu-devel] [PATCH COLO-Frame v19 14/22] COLO: Implement the process of failover for primary VM, zhanghailiang, 2016/08/31
- [Qemu-devel] [PATCH COLO-Frame v19 13/22] COLO: Introduce state to record failover process, zhanghailiang, 2016/08/31
- [Qemu-devel] [PATCH COLO-Frame v19 10/22] COLO: Add checkpoint-delay parameter for migrate-set-parameters, zhanghailiang, 2016/08/31
- [Qemu-devel] [PATCH COLO-Frame v19 12/22] COLO: Add 'x-colo-lost-heartbeat' command to trigger failover, zhanghailiang, 2016/08/31
- [Qemu-devel] [PATCH COLO-Frame v19 19/22] COLO: Update the global runstate after going into colo state, zhanghailiang, 2016/08/31
- [Qemu-devel] [PATCH COLO-Frame v19 18/22] COLO: Handle shutdown command for VM in COLO state, zhanghailiang, 2016/08/31