From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yang Hongyang Subject: [PATCH v7 COLO 00/18] COarse-grain LOck-stepping Virtual Machines for Non-stop Service Date: Thu, 25 Jun 2015 14:30:54 +0800 Message-ID: <1435213872-10698-1-git-send-email-yanghy@cn.fujitsu.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xen.org Cc: wei.liu2@citrix.com, ian.campbell@citrix.com, wency@cn.fujitsu.com, andrew.cooper3@citrix.com, yunhong.jiang@intel.com, eddie.dong@intel.com, guijianfeng@cn.fujitsu.com, rshriram@cs.ubc.ca, ian.jackson@eu.citrix.com List-Id: xen-devel@lists.xenproject.org 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: [PATCH v3 COLOPre 00/26] Prerequisite patches for COLO and on: http://xenbits.xen.org/gitweb/?p=people/andrewcoop/xen.git;a=shortlog;h=refs/heads/libxl-migv2-v1 Note that I did compile test only because Libxl migration v2 is in experimental and Remus failover on Libxl migration v2 need to be fixed. We only support hvm guest now. The codes are also hosted on github: https://github.com/macrosheep/xen/tree/colo-v7 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 (8): tools/libxl: handle colo_context records in a libxl migration v2 stream tools/libxl: write colo_context records into the stream secondary vm suspend/resume/checkpoint code primary vm suspend/resume/checkpoint code send store mfn and console mfn to xl before resuming secondary vm implement the cmdline for COLO Support colo mode for qemu disk COLO: use qemu block replication Yang Hongyang (10): docs: add colo readme libxc/restore: support COLO restore libxc/restore: send dirty bitmap to primary when checkpoint under colo libxc/save: support COLO save 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 | 38 ++ tools/hotplug/Linux/Makefile | 1 + tools/hotplug/Linux/colo-proxy-setup | 131 +++++ tools/libxc/include/xenguest.h | 8 + tools/libxc/xc_sr_common.h | 25 +- tools/libxc/xc_sr_restore.c | 184 ++++++ tools/libxc/xc_sr_save.c | 104 +++- tools/libxl/Makefile | 4 + tools/libxl/libxl.c | 77 ++- tools/libxl/libxl_colo.h | 42 ++ tools/libxl/libxl_colo_nic.c | 317 +++++++++++ tools/libxl/libxl_colo_proxy.c | 267 +++++++++ tools/libxl/libxl_colo_qdisk.c | 209 +++++++ tools/libxl/libxl_colo_restore.c | 1022 ++++++++++++++++++++++++++++++++++ tools/libxl/libxl_colo_save.c | 705 +++++++++++++++++++++++ tools/libxl/libxl_create.c | 152 ++++- tools/libxl/libxl_device.c | 38 ++ tools/libxl/libxl_dm.c | 262 ++++++++- tools/libxl/libxl_dom_save.c | 13 +- tools/libxl/libxl_internal.h | 172 ++++-- tools/libxl/libxl_qmp.c | 31 ++ tools/libxl/libxl_save_callout.c | 7 +- tools/libxl/libxl_save_msgs_gen.pl | 2 +- tools/libxl/libxl_stream_read.c | 51 ++ tools/libxl/libxl_stream_write.c | 92 +++ tools/libxl/libxl_types.idl | 8 + tools/libxl/libxlu_disk_l.l | 5 + tools/libxl/xl.c | 3 + tools/libxl/xl.h | 1 + tools/libxl/xl_cmdimpl.c | 101 +++- tools/libxl/xl_cmdtable.c | 4 +- 34 files changed, 4007 insertions(+), 95 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 -- 1.9.1