qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH COLO-Frame v19 00/22] COarse-grain LOck-stepping(COLO) Virtual Machines for Non-stop Service (FT)
@ 2016-09-01  3:24 zhanghailiang
  2016-09-01  3:24 ` [Qemu-devel] [PATCH COLO-Frame v19 01/22] migration: Introduce capability 'x-colo' to migration zhanghailiang
                   ` (23 more replies)
  0 siblings, 24 replies; 27+ messages in thread
From: zhanghailiang @ 2016-09-01  3:24 UTC (permalink / raw)
  To: qemu-devel
  Cc: amit.shah, quintela, dgilbert, peter.huangpeng, wency, lizhijian,
	zhangchen.fnst, xiecl.fnst, zhanghailiang

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

^ permalink raw reply	[flat|nested] 27+ messages in thread

end of thread, other threads:[~2016-09-13  1:04 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-09-01  3:24 [Qemu-devel] [PATCH COLO-Frame v19 00/22] COarse-grain LOck-stepping(COLO) Virtual Machines for Non-stop Service (FT) zhanghailiang
2016-09-01  3:24 ` [Qemu-devel] [PATCH COLO-Frame v19 01/22] migration: Introduce capability 'x-colo' to migration zhanghailiang
2016-09-01  3:24 ` [Qemu-devel] [PATCH COLO-Frame v19 02/22] COLO: migrate COLO related info to secondary node zhanghailiang
2016-09-01  3:24 ` [Qemu-devel] [PATCH COLO-Frame v19 03/22] migration: Enter into COLO mode after migration if COLO is enabled zhanghailiang
2016-09-01  3:24 ` [Qemu-devel] [PATCH COLO-Frame v19 04/22] migration: Switch to COLO process after finishing loadvm zhanghailiang
2016-09-01  3:24 ` [Qemu-devel] [PATCH COLO-Frame v19 05/22] COLO: Establish a new communicating path for COLO zhanghailiang
2016-09-01  3:24 ` [Qemu-devel] [PATCH COLO-Frame v19 06/22] COLO: Introduce checkpointing protocol zhanghailiang
2016-09-01  3:24 ` [Qemu-devel] [PATCH COLO-Frame v19 07/22] COLO: Add a new RunState RUN_STATE_COLO zhanghailiang
2016-09-01  3:24 ` [Qemu-devel] [PATCH COLO-Frame v19 08/22] COLO: Send PVM state to secondary side when do checkpoint zhanghailiang
2016-09-01  3:24 ` [Qemu-devel] [PATCH COLO-Frame v19 09/22] COLO: Load VMState into QIOChannelBuffer before restore it zhanghailiang
2016-09-01  3:24 ` [Qemu-devel] [PATCH COLO-Frame v19 10/22] COLO: Add checkpoint-delay parameter for migrate-set-parameters zhanghailiang
2016-09-01  3:24 ` [Qemu-devel] [PATCH COLO-Frame v19 11/22] COLO: Synchronize PVM's state to SVM periodically zhanghailiang
2016-09-01  3:24 ` [Qemu-devel] [PATCH COLO-Frame v19 12/22] COLO: Add 'x-colo-lost-heartbeat' command to trigger failover zhanghailiang
2016-09-01  3:24 ` [Qemu-devel] [PATCH COLO-Frame v19 13/22] COLO: Introduce state to record failover process zhanghailiang
2016-09-01  3:24 ` [Qemu-devel] [PATCH COLO-Frame v19 14/22] COLO: Implement the process of failover for primary VM zhanghailiang
2016-09-01  3:24 ` [Qemu-devel] [PATCH COLO-Frame v19 15/22] COLO: Implement failover work for secondary VM zhanghailiang
2016-09-01  3:24 ` [Qemu-devel] [PATCH COLO-Frame v19 16/22] COLO: Shutdown related socket fd while do failover zhanghailiang
2016-09-01  3:24 ` [Qemu-devel] [PATCH COLO-Frame v19 17/22] COLO: Don't do failover while loading VM's state zhanghailiang
2016-09-01  3:24 ` [Qemu-devel] [PATCH COLO-Frame v19 18/22] COLO: Handle shutdown command for VM in COLO state zhanghailiang
2016-09-01  3:24 ` [Qemu-devel] [PATCH COLO-Frame v19 19/22] COLO: Update the global runstate after going into colo state zhanghailiang
2016-09-01  3:24 ` [Qemu-devel] [PATCH COLO-Frame v19 20/22] COLO: Add block replication into colo process zhanghailiang
2016-09-01  3:24 ` [Qemu-devel] [PATCH COLO-Frame v19 21/22] docs: Add documentation for COLO feature zhanghailiang
2016-09-01  3:24 ` [Qemu-devel] [PATCH COLO-Frame v19 22/22] configure: Support enable/disable " zhanghailiang
2016-09-01  3:57 ` [Qemu-devel] [PATCH COLO-Frame v19 00/22] COarse-grain LOck-stepping(COLO) Virtual Machines for Non-stop Service (FT) no-reply
2016-09-09  6:45 ` Hailiang Zhang
2016-09-10  8:21   ` Amit Shah
2016-09-13  1:04     ` Hailiang Zhang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).