From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yang Hongyang Subject: Re: [PATCH v4 --for 4.6 COLOPre 00/25] Prerequisite patches for COLO Date: Thu, 16 Jul 2015 09:37:24 +0800 Message-ID: <55A70AD4.7030807@cn.fujitsu.com> References: <1436946351-21118-1-git-send-email-yanghy@cn.fujitsu.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1436946351-21118-1-git-send-email-yanghy@cn.fujitsu.com> 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 Seems my reply emails last night are lost. they didn't appear on the list, I'm going to repost them. On 07/15/2015 03:45 PM, Yang Hongyang wrote: > This patchset is Prerequisite for COLO feature. Refer to: > http://wiki.xen.org/wiki/COLO_-_Coarse_Grain_Lock_Stepping > > This patchse is based on Andrew Cooper's Libxl migration v4.1: > http://xenbits.xen.org/gitweb/?p=people/andrewcoop/xen.git;a=shortlog;h=refs/heads/libxl-migv2-v4.1 > > In this version, I moved some of the COLO specific patches down to the COLO > main series, so most patches of this series are refactoring and can be applied > first. > > I've done some simple test. Both Remus and normal migration work after apply > this patchset. The patch to fix Remus on migration v2 will be sent later as > a seperate patch. > > You can also get the patchset from: > https://github.com/macrosheep/xen/tree/colo-v8 > > v3->v4: > - Rebased to the latest migration v2 branch > - Addressed comments from last round > > v2->v3: > - Merge '[PATCH v2 0/6] Misc cleanups for libxl' into this patchset > for easy review > - Addressed review comments > - Add back channel to libxc > - Introduce should_checkpoint callback > - Introduce DIRTY_BITMAP record on libxc side > - Introduce COLO_CONTEXT record on libxl side > - Ported to Libxl migration v2 > > v1->v2: > - Rebased to [PATCH v2 0/6] Misc cleanups for libxl > - Add a bugfix for the error handling of process_record > > > Wen Congyang (2): > tools/libxc: support to resume uncooperative HVM guests > tools/libxl: Add back channel to allow migration target send data back > > Yang Hongyang (23): > tools/libxl: rename libxl__domain_suspend to libxl__domain_save > A tools/libxl: move domain suspend code into libxl_dom_suspend.c > A tools/libxl: move domain resume code into libxl_dom_suspend.c > tools/libxl: rename remus checkpoint callbacks > libxl/remus: introduce libxl__remus_setup > libxl/remus: introduce libxl__remus_teardown > libxl/remus: init checkpoint_callback in Remus checkpoint callback > tools/libxl: move remus code into libxl_remus.c > A tools/libxl: move save/restore code into libxl_dom_save.c > libxl/save: Refactor libxl__domain_suspend_state > tools/libxl: introduce enum type libxl_checkpointed_stream > migration/save: pass checkpointed_stream from libxl to libxc > tools/libxl: introduce libxl__domain_restore_device_model to load qemu > state > tools/libxl: check QEMU state before resume dm > tools/libxl: Update libxl_domain_unpause() to support qemu-xen > A tools/libxl: introduce libxl__domain_common_switch_qemu_logdirty() > A tools/libxl: export logdirty_init > tools/libx{l,c}: add back channel to libxc > tools/libxl: rename remus device to checkpoint device > A tools/libxl: adjust the indentation > tools/libxl: store remus_ops in checkpoint device state > tools/libxl: move remus state into a seperate structure > tools/libxl: seperate device init/cleanup from checkpoint device layer > > tools/libxc/include/xenguest.h | 13 +- > tools/libxc/xc_domain_restore.c | 4 +- > tools/libxc/xc_domain_save.c | 6 +- > tools/libxc/xc_nomigrate.c | 3 +- > tools/libxc/xc_resume.c | 22 +- > tools/libxc/xc_sr_common.h | 2 +- > tools/libxc/xc_sr_restore.c | 2 +- > tools/libxc/xc_sr_save.c | 5 +- > tools/libxl/Makefile | 5 +- > tools/libxl/libxl.c | 119 +--- > tools/libxl/libxl.h | 30 +- > tools/libxl/libxl_checkpoint_device.c | 282 ++++++++ > tools/libxl/libxl_create.c | 33 +- > tools/libxl/libxl_dom.c | 1243 --------------------------------- > tools/libxl/libxl_dom_save.c | 721 +++++++++++++++++++ > tools/libxl/libxl_dom_suspend.c | 503 +++++++++++++ > tools/libxl/libxl_internal.h | 246 ++++--- > tools/libxl/libxl_netbuffer.c | 117 ++-- > tools/libxl/libxl_nonetbuffer.c | 10 +- > tools/libxl/libxl_qmp.c | 10 + > tools/libxl/libxl_remus.c | 395 +++++++++++ > tools/libxl/libxl_remus_device.c | 327 --------- > tools/libxl/libxl_remus_disk_drbd.c | 56 +- > tools/libxl/libxl_save_callout.c | 43 +- > tools/libxl/libxl_save_helper.c | 9 +- > tools/libxl/libxl_stream_write.c | 14 +- > tools/libxl/libxl_types.idl | 10 +- > tools/libxl/xl_cmdimpl.c | 21 +- > tools/ocaml/libs/xl/xenlight_stubs.c | 2 +- > 29 files changed, 2321 insertions(+), 1932 deletions(-) > create mode 100644 tools/libxl/libxl_checkpoint_device.c > create mode 100644 tools/libxl/libxl_dom_save.c > create mode 100644 tools/libxl/libxl_dom_suspend.c > create mode 100644 tools/libxl/libxl_remus.c > delete mode 100644 tools/libxl/libxl_remus_device.c > -- Thanks, Yang.