From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yang Hongyang Subject: [PATCH v6 COLO 00/15] COarse-grain LOck-stepping Virtual Machines for Non-stop Service Date: Mon, 8 Jun 2015 11:45:44 +0800 Message-ID: <1433735159-26739-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 v2 COLOPre 00/13] Prerequisite patches for COLO We only support hvm guest now. The codes are also hosted on github: https://github.com/macrosheep/xen/tree/colo-v6 Patch 1 : Add readme Patch 2-7: COLO framework related codes Patch 8-9: Implement disk replication Patch 10-15: Implement nic replication 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 (6): secondary vm suspend/resume/checkpoint code primary vm suspend/get_dirty_pfn/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 (9): docs: add colo readme libxc/restore: support COLO restore 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 +- tools/hotplug/Linux/Makefile | 1 + tools/hotplug/Linux/colo-proxy-setup | 131 ++++ tools/libxc/include/xenguest.h | 40 ++ tools/libxc/xc_sr_common.h | 11 +- tools/libxc/xc_sr_restore.c | 67 +- tools/libxc/xc_sr_restore_x86_hvm.c | 1 + tools/libxc/xc_sr_save.c | 49 +- tools/libxl/Makefile | 4 + tools/libxl/libxl.c | 70 +- tools/libxl/libxl_colo.h | 53 ++ 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 | 1192 ++++++++++++++++++++++++++++++++++ tools/libxl/libxl_colo_save.c | 784 ++++++++++++++++++++++ tools/libxl/libxl_create.c | 156 ++++- tools/libxl/libxl_device.c | 38 ++ tools/libxl/libxl_dm.c | 262 +++++++- tools/libxl/libxl_dom_save.c | 17 +- tools/libxl/libxl_internal.h | 94 ++- tools/libxl/libxl_qmp.c | 31 + tools/libxl/libxl_save_callout.c | 6 +- tools/libxl/libxl_save_msgs_gen.pl | 9 +- 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 | 92 ++- tools/libxl/xl_cmdtable.c | 4 +- 32 files changed, 3896 insertions(+), 52 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