From: Wen Congyang <wency@cn.fujitsu.com>
To: xen devel <xen-devel@lists.xen.org>,
Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
Andrew Cooper <andrew.cooper3@citrix.com>,
Ian Campbell <ian.campbell@citrix.com>,
Ian Jackson <ian.jackson@eu.citrix.com>,
Wei Liu <wei.liu2@citrix.com>
Cc: Lars Kurth <lars.kurth@citrix.com>,
Changlong Xie <xiecl.fnst@cn.fujitsu.com>,
Wen Congyang <wency@cn.fujitsu.com>,
Gui Jianfeng <guijianfeng@cn.fujitsu.com>,
Jiang Yunhong <yunhong.jiang@intel.com>,
Dong Eddie <eddie.dong@intel.com>,
Shriram Rajagopalan <rshriram@cs.ubc.ca>,
Yang Hongyang <hongyang.yang@easystack.cn>
Subject: [PATCH v10 00/31] COarse-grain LOck-stepping Virtual Machines for Non-stop Service
Date: Mon, 22 Feb 2016 10:52:04 +0800 [thread overview]
Message-ID: <1456109555-28299-1-git-send-email-wency@cn.fujitsu.com> (raw)
This patchset implemented the COLO feature for Xen.
For detail/install/use of COLO feature, refer to:
http://wiki.xen.org/wiki/COLO_-_Coarse_Grain_Lock_Stepping
This patchset is based on:
1. http://lists.xenproject.org/archives/html/xen-devel/2016-02/msg02515.html
You can get the codes from here:
https://github.com/wencongyang/xen/tree/colo_v10
Changlog from v9 to v10
1. Rebased to the upstream xen
2. Fix one bug found in the test
3. Merge some patches from prepare series
4. Split patch 5 to two patches(patch 4 and 5) according to the comments from
Wei Liu
Changlog from v8 to v9:
1. Rebased to the upstream xen
2. Fix some bugs found in the test
Changelog from v7 to v8:
1. Rebased to the latest libxl migration v2.
Changelog from v6 to v7:
1. Ported to Libxl migration v2
2. Send dirty bitmap from secondary to primary on libxc side
3. Address review comments
Changelog from v5 to v6:
1. based on migration v2(libxc)
2. split the patchset into prerequisite patchset and this main patchset.
Changelog from v4 to v5:
1. rebase to the latest xen upstream
2. disk replication: blktap2->qdisk
3. nic replication: colo-agent->colo-proxy
Changelog from v3 to v4:
1. rebase to newest xen
2. bug fix
Changlog from v2 to v3:
1. rebase to newest remus
2. add nic replication support
Changlog from v1 to v2:
1. rebase to newest remus
2. add disk replication support
Wen Congyang (31):
tools/libxl: introduce libxl__domain_restore_device_model to load qemu
state
tools/libxl: introduce libxl__domain_common_switch_qemu_logdirty()
tools/libxl: Add back channel to allow migration target send data back
tools/libxl: Introduce new helper function dup_fd_helper()
tools/libx{l,c}: add back channel to libxc
docs: add colo readme
docs/libxl: Introduce CHECKPOINT_CONTEXT to support migration v2 colo
streams
libxc/migration: Specification update for DIRTY_PFN_LIST records
libxc/migration: export read_record for common use
tools/libxl: add back channel support to write stream
tools/libxl: write checkpoint_state records into the stream
tools/libxl: add back channel support to read stream
tools/libxl: handle checkpoint_state records in a libxl migration v2
read stream
tools/libx{l,c}: introduce wait_checkpoint callback
tools/libx{l,c}: add postcopy/suspend callback to restore side
secondary vm suspend/resume/checkpoint code
primary vm suspend/resume/checkpoint code
libxc/restore: support COLO restore
libxc/restore: send dirty pfn list to primary when checkpoint under
colo
send store gfn and console gfn to xl before resuming secondary vm
libxc/save: support COLO save
implement the cmdline for COLO
COLO: introduce new API to prepare/start/do/get_error/stop replication
Support colo mode for qemu disk
COLO: use qemu block replication
COLO proxy: implement setup/teardown of COLO proxy module
COLO proxy: preresume, postresume and checkpoint
COLO nic: implement COLO nic subkind
setup and control colo proxy on primary side
setup and control colo proxy on secondary side
cmdline switches and config vars to control colo-proxy
docs/README.colo | 9 +
docs/man/xl.conf.pod.5 | 6 +
docs/man/xl.pod.1 | 11 +-
docs/misc/xl-disk-configuration.txt | 50 ++
docs/specs/libxc-migration-stream.pandoc | 24 +-
docs/specs/libxl-migration-stream.pandoc | 25 +-
tools/hotplug/Linux/Makefile | 1 +
tools/hotplug/Linux/colo-proxy-setup | 135 ++++
tools/libxc/include/xenguest.h | 40 +-
tools/libxc/xc_nomigrate.c | 4 +-
tools/libxc/xc_sr_common.c | 80 ++-
tools/libxc/xc_sr_common.h | 26 +-
tools/libxc/xc_sr_restore.c | 246 +++++--
tools/libxc/xc_sr_save.c | 109 ++-
tools/libxc/xc_sr_stream_format.h | 31 +-
tools/libxl/Makefile | 4 +
tools/libxl/libxl.c | 100 ++-
tools/libxl/libxl.h | 29 +-
tools/libxl/libxl_colo.h | 36 +
tools/libxl/libxl_colo_nic.c | 321 +++++++++
tools/libxl/libxl_colo_proxy.c | 292 ++++++++
tools/libxl/libxl_colo_qdisk.c | 226 +++++++
tools/libxl/libxl_colo_restore.c | 1091 ++++++++++++++++++++++++++++++
tools/libxl/libxl_colo_save.c | 721 ++++++++++++++++++++
tools/libxl/libxl_create.c | 86 ++-
tools/libxl/libxl_device.c | 54 ++
tools/libxl/libxl_dm.c | 184 ++++-
tools/libxl/libxl_dom_save.c | 124 ++--
tools/libxl/libxl_internal.h | 247 +++++--
tools/libxl/libxl_qmp.c | 106 +++
tools/libxl/libxl_save_callout.c | 52 +-
tools/libxl/libxl_save_helper.c | 8 +-
tools/libxl/libxl_save_msgs_gen.pl | 13 +-
tools/libxl/libxl_sr_stream_format.h | 11 +
tools/libxl/libxl_stream_read.c | 96 ++-
tools/libxl/libxl_stream_write.c | 86 ++-
tools/libxl/libxl_types.idl | 11 +
tools/libxl/libxlu_disk_l.l | 7 +
tools/libxl/xl.c | 3 +
tools/libxl/xl.h | 1 +
tools/libxl/xl_cmdimpl.c | 107 ++-
tools/libxl/xl_cmdtable.c | 4 +-
tools/ocaml/libs/xl/xenlight_stubs.c | 2 +-
tools/python/xen/migration/libxc.py | 68 +-
tools/python/xen/migration/libxl.py | 9 +
45 files changed, 4567 insertions(+), 329 deletions(-)
create mode 100644 docs/README.colo
create mode 100755 tools/hotplug/Linux/colo-proxy-setup
create mode 100644 tools/libxl/libxl_colo.h
create mode 100644 tools/libxl/libxl_colo_nic.c
create mode 100644 tools/libxl/libxl_colo_proxy.c
create mode 100644 tools/libxl/libxl_colo_qdisk.c
create mode 100644 tools/libxl/libxl_colo_restore.c
create mode 100644 tools/libxl/libxl_colo_save.c
--
2.5.0
next reply other threads:[~2016-02-22 2:52 UTC|newest]
Thread overview: 70+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-22 2:52 Wen Congyang [this message]
2016-02-22 2:52 ` [PATCH v10 01/31] tools/libxl: introduce libxl__domain_restore_device_model to load qemu state Wen Congyang
2016-02-25 15:53 ` Wei Liu
2016-02-26 1:55 ` Wen Congyang
2016-02-22 2:52 ` [PATCH v10 02/31] tools/libxl: introduce libxl__domain_common_switch_qemu_logdirty() Wen Congyang
2016-02-22 2:52 ` [PATCH v10 03/31] tools/libxl: Add back channel to allow migration target send data back Wen Congyang
2016-02-22 2:52 ` [PATCH v10 04/31] tools/libxl: Introduce new helper function dup_fd_helper() Wen Congyang
2016-02-25 15:53 ` Wei Liu
2016-02-22 2:52 ` [PATCH v10 05/31] tools/libx{l, c}: add back channel to libxc Wen Congyang
2016-02-25 15:54 ` Wei Liu
2016-02-22 2:52 ` [PATCH v10 06/31] docs: add colo readme Wen Congyang
2016-02-25 15:54 ` Wei Liu
2016-02-22 2:52 ` [PATCH v10 07/31] docs/libxl: Introduce CHECKPOINT_CONTEXT to support migration v2 colo streams Wen Congyang
2016-02-25 15:54 ` Wei Liu
2016-02-26 1:59 ` Wen Congyang
2016-02-22 2:52 ` [PATCH v10 08/31] libxc/migration: Specification update for DIRTY_PFN_LIST records Wen Congyang
2016-02-22 2:52 ` [PATCH v10 09/31] libxc/migration: export read_record for common use Wen Congyang
2016-02-22 2:52 ` [PATCH v10 10/31] tools/libxl: add back channel support to write stream Wen Congyang
2016-02-25 15:54 ` Wei Liu
2016-02-26 2:11 ` Wen Congyang
2016-03-02 15:02 ` Wei Liu
2016-03-03 1:25 ` Wen Congyang
2016-02-22 2:52 ` [PATCH v10 11/31] tools/libxl: write checkpoint_state records into the stream Wen Congyang
2016-02-22 2:52 ` [PATCH v10 12/31] tools/libxl: add back channel support to read stream Wen Congyang
2016-02-25 15:54 ` Wei Liu
2016-02-26 2:16 ` Wen Congyang
2016-03-02 15:03 ` Wei Liu
2016-02-22 2:52 ` [PATCH v10 13/31] tools/libxl: handle checkpoint_state records in a libxl migration v2 " Wen Congyang
2016-02-22 2:52 ` [PATCH v10 14/31] tools/libx{l, c}: introduce wait_checkpoint callback Wen Congyang
2016-02-22 2:52 ` [PATCH v10 15/31] tools/libx{l, c}: add postcopy/suspend callback to restore side Wen Congyang
2016-02-22 2:52 ` [PATCH v10 16/31] secondary vm suspend/resume/checkpoint code Wen Congyang
2016-02-25 15:56 ` Wei Liu
2016-02-26 2:30 ` Wen Congyang
2016-03-01 10:06 ` Wen Congyang
2016-02-22 2:52 ` [PATCH v10 17/31] primary " Wen Congyang
2016-02-25 15:57 ` Wei Liu
2016-02-26 2:32 ` Wen Congyang
2016-02-22 2:52 ` [PATCH v10 18/31] libxc/restore: support COLO restore Wen Congyang
2016-02-25 15:57 ` Wei Liu
2016-02-26 2:33 ` Wen Congyang
2016-02-22 2:52 ` [PATCH v10 19/31] libxc/restore: send dirty pfn list to primary when checkpoint under colo Wen Congyang
2016-02-22 2:52 ` [PATCH v10 20/31] send store gfn and console gfn to xl before resuming secondary vm Wen Congyang
2016-02-22 2:52 ` [PATCH v10 21/31] libxc/save: support COLO save Wen Congyang
2016-02-25 15:58 ` Wei Liu
2016-02-26 2:35 ` Wen Congyang
2016-02-22 2:52 ` [PATCH v10 22/31] implement the cmdline for COLO Wen Congyang
2016-03-02 15:03 ` Wei Liu
2016-03-03 1:30 ` Wen Congyang
2016-02-22 2:52 ` [PATCH v10 23/31] COLO: introduce new API to prepare/start/do/get_error/stop replication Wen Congyang
2016-03-02 15:03 ` Wei Liu
2016-02-22 2:52 ` [PATCH v10 24/31] Support colo mode for qemu disk Wen Congyang
2016-03-02 15:04 ` Wei Liu
2016-03-03 1:40 ` Wen Congyang
2016-02-22 2:52 ` [PATCH v10 25/31] COLO: use qemu block replication Wen Congyang
2016-03-02 15:03 ` Wei Liu
2016-02-22 2:52 ` [PATCH v10 26/31] COLO proxy: implement setup/teardown of COLO proxy module Wen Congyang
2016-03-02 15:04 ` Wei Liu
2016-03-11 22:25 ` Konrad Rzeszutek Wilk
2016-03-14 9:13 ` Wen Congyang
2016-03-22 3:40 ` Changlong Xie
2016-02-22 2:52 ` [PATCH v10 27/31] COLO proxy: preresume, postresume and checkpoint Wen Congyang
2016-03-02 15:04 ` Wei Liu
2016-02-22 2:52 ` [PATCH v10 28/31] COLO nic: implement COLO nic subkind Wen Congyang
2016-03-02 15:04 ` Wei Liu
2016-02-22 2:52 ` [PATCH v10 29/31] setup and control colo proxy on primary side Wen Congyang
2016-02-22 2:52 ` [PATCH v10 30/31] setup and control colo proxy on secondary side Wen Congyang
2016-02-22 2:52 ` [PATCH v10 31/31] cmdline switches and config vars to control colo-proxy Wen Congyang
2016-03-02 15:05 ` Wei Liu
2016-03-03 1:41 ` Wen Congyang
2016-02-25 16:05 ` [PATCH v10 00/31] COarse-grain LOck-stepping Virtual Machines for Non-stop Service Wei Liu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1456109555-28299-1-git-send-email-wency@cn.fujitsu.com \
--to=wency@cn.fujitsu.com \
--cc=andrew.cooper3@citrix.com \
--cc=eddie.dong@intel.com \
--cc=guijianfeng@cn.fujitsu.com \
--cc=hongyang.yang@easystack.cn \
--cc=ian.campbell@citrix.com \
--cc=ian.jackson@eu.citrix.com \
--cc=konrad.wilk@oracle.com \
--cc=lars.kurth@citrix.com \
--cc=rshriram@cs.ubc.ca \
--cc=wei.liu2@citrix.com \
--cc=xen-devel@lists.xen.org \
--cc=xiecl.fnst@cn.fujitsu.com \
--cc=yunhong.jiang@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.