From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33429) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1biFa0-0007Qb-Vb for qemu-devel@nongnu.org; Fri, 09 Sep 2016 02:46:30 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1biFZx-00082O-QQ for qemu-devel@nongnu.org; Fri, 09 Sep 2016 02:46:28 -0400 Received: from szxga01-in.huawei.com ([58.251.152.64]:53466) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1biFZw-00080X-VD for qemu-devel@nongnu.org; Fri, 09 Sep 2016 02:46:25 -0400 References: <1472700265-16760-1-git-send-email-zhang.zhanghailiang@huawei.com> From: Hailiang Zhang Message-ID: <57D25A90.90206@huawei.com> Date: Fri, 9 Sep 2016 14:45:36 +0800 MIME-Version: 1.0 In-Reply-To: <1472700265-16760-1-git-send-email-zhang.zhanghailiang@huawei.com> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH COLO-Frame v19 00/22] COarse-grain LOck-stepping(COLO) Virtual Machines for Non-stop Service (FT) List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: amit.shah@redhat.com, quintela@redhat.com, dgilbert@redhat.com, wency@cn.fujitsu.com, lizhijian@cn.fujitsu.com, zhangchen.fnst@cn.fujitsu.com, xiecl.fnst@cn.fujitsu.com ping ? On 2016/9/1 11:24, zhanghailiang wrote: > 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 >