Regards,
Zhi Yong Wu
On Wed, Aug 3, 2016 at 8:25 PM, zhanghailiang
<address@hidden> wrote:
This is the 18th version of COLO FT feature.
It is based on '[PATCH v24 00/12] Block replication for continuous checkpoints'
series.
The complete codes can be found from the link:
https://github.com/coloft/qemu/commits/colo-v3.1-periodic-mode
For block part, Stefan promised to merge it.
So we would like to update this series to the latest upstream.
For this series, only patch 32 ~ 34 are not reviewed, so
please help review them. Thanks.
Cc: Stefan Hajnoczi <address@hidden>
Cc: Jason Wang <address@hidden>
TODO:
1. Checkpoint based on proxy in qemu
2. The capability of continuous FT
3. Optimize the VM's downtime during checkpoint
zhanghailiang (34):
configure: Add parameter for configure to enable/disable COLO support
migration: Introduce capability 'x-colo' to migration
COLO: migrate colo related info to secondary node
migration: Integrate COLO checkpoint process into migration
migration: Integrate COLO checkpoint process into loadvm
COLO/migration: Create a new communication path from destination to
source
COLO: Implement COLO checkpoint protocol
COLO: Add a new RunState RUN_STATE_COLO
COLO: Save PVM state to secondary side when do checkpoint
COLO: Load PVM's dirty pages into SVM's RAM cache temporarily
ram/COLO: Record the dirty pages that SVM received
COLO: Load VMState into buffer before restore it
COLO: Flush PVM's cached RAM into SVM's memory
COLO: Add checkpoint-delay parameter for migrate-set-parameters
COLO: Synchronize PVM's state to SVM periodically
COLO failover: Introduce a new command to trigger a failover
COLO failover: Introduce state to record failover process
COLO: Implement failover work for Primary VM
COLO: Implement failover work for Secondary VM
qmp event: Add COLO_EXIT event to notify users while exited from COLO
COLO failover: Shutdown related socket fd when do failover
COLO failover: Don't do failover during loading VM's state
COLO: Process shutdown command for VM in COLO state
COLO: Update the global runstate after going into colo state
savevm: Introduce two helper functions for save/find loadvm_handlers
entry
migration/savevm: Add new helpers to process the different stages of
loadvm
migration/savevm: Export two helper functions for savevm process
COLO: Separate the process of saving/loading ram and device state
COLO: Split qemu_savevm_state_begin out of checkpoint process
filter-buffer: Accept zero interval
net: Add notifier/callback for netdev init
COLO/filter: Add each netdev a buffer filter
COLO: Control the status of buffer filters for PVM
COLO: Add block replication into colo process
configure | 11 +
docs/qmp-events.txt | 16 +
hmp-commands.hx | 15 +
hmp.c | 15 +
hmp.h | 1 +
include/exec/ram_addr.h | 1 +
include/migration/colo.h | 43 +++
include/migration/failover.h | 33 ++
include/migration/migration.h | 16 +
include/net/filter.h | 2 +
include/net/net.h | 3 +
include/sysemu/sysemu.h | 9 +
migration/Makefile.objs | 2 +
migration/colo-comm.c | 79 ++++
migration/colo-failover.c | 84 +++++
migration/colo.c | 844 ++++++++++++++++++++++++++++++++++++++++++
migration/migration.c | 84 ++++-
migration/ram.c | 175 ++++++++-
migration/savevm.c | 113 ++++--
migration/trace-events | 8 +
net/filter-buffer.c | 12 -
net/net.c | 12 +
qapi-schema.json | 102 ++++-
qapi/event.json | 15 +
qmp-commands.hx | 24 +-
stubs/Makefile.objs | 1 +
stubs/migration-colo.c | 55 +++
vl.c | 30 +-
28 files changed, 1744 insertions(+), 61 deletions(-)
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