From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
To: Jason Wang <jasowang@redhat.com>
Cc: qemu-devel@nongnu.org, Eric Blake <eblake@redhat.com>,
Markus Armbruster <armbru@redhat.com>,
Paolo Bonzini <pbonzini@redhat.com>,
Zhang Chen <zhangckid@gmail.com>
Subject: Re: [Qemu-devel] [PATCH V7 RESEND 00/17] COLO: integrate colo frame with block replication and COLO proxy
Date: Wed, 16 May 2018 12:18:28 +0100 [thread overview]
Message-ID: <20180516111828.GD2531@work-vm> (raw)
In-Reply-To: <20180514165424.12884-1-zhangckid@gmail.com>
Hi Jason,
Patches 1,2,3,14,15 seem mostly networky to me; can you have a look?
Dave
* Zhang Chen (zhangckid@gmail.com) wrote:
> The RESEND version just fix code style in patch 11/17.
>
> Hi~ All~
>
> COLO Frame, block replication and COLO proxy(colo-compare,filter-mirror,
> filter-redirector,filter-rewriter) have been exist in qemu
> for long time, it's time to integrate these three parts to make COLO really works.
>
> In this series, we have some optimizations for COLO frame, including separating the
> process of saving ram and device state, using an COLO_EXIT event to notify users that
> VM exits COLO, for these parts, most of them have been reviewed long time ago in old version,
> but since this series have just rebased on upstream which had merged a new series of migration,
> parts of pathes in this series deserve review again.
>
> We use notifier/callback method for COLO compare to notify COLO frame about
> net packets inconsistent event, and add a handle_event method for NetFilterClass to
> help COLO frame to notify filters and colo-compare about checkpoint/failover event,
> it is flexible.
>
> For the neweset version, please refer to:
> https://github.com/zhangckid/qemu/tree/qemu-colo-18may1-rebase
>
> Please review, thanks.
>
> V7:
> - Addressed Markus's comments in 11/17.
> - Rebased on upstream.
>
> V6:
> - Addressed Eric Blake's comments, use the enum to feedback in patch 11/17.
> - Fixed QAPI command separator problem in patch 11/17.
>
>
> Zhang Chen (12):
> filter-rewriter: fix memory leak for connection in
> connection_track_table
> colo-compare: implement the process of checkpoint
> colo-compare: use notifier to notify packets comparing result
> COLO: integrate colo compare with colo frame
> COLO: Add block replication into colo process
> COLO: Remove colo_state migration struct
> COLO: Load dirty pages into SVM's RAM cache firstly
> ram/COLO: Record the dirty pages that SVM received
> COLO: Flush memory data from ram cache
> qapi: Add new command to query colo status
> filter: Add handle_event method for NetFilterClass
> filter-rewriter: handle checkpoint and failover event
>
> zhanghailiang (5):
> qmp event: Add COLO_EXIT event to notify users while exited COLO
> savevm: split the process of different stages for loadvm/savevm
> COLO: flush host dirty ram from cache
> COLO: notify net filters about checkpoint/failover event
> COLO: quick failover process by kick COLO thread
>
> include/exec/ram_addr.h | 1 +
> include/migration/colo.h | 11 +-
> include/net/filter.h | 5 +
> migration/Makefile.objs | 2 +-
> migration/colo-comm.c | 76 --------------
> migration/colo.c | 219 +++++++++++++++++++++++++++++++++++++--
> migration/migration.c | 38 ++++++-
> migration/ram.c | 183 +++++++++++++++++++++++++++++++-
> migration/ram.h | 4 +
> migration/savevm.c | 55 ++++++++--
> migration/savevm.h | 5 +
> migration/trace-events | 3 +
> net/colo-compare.c | 108 +++++++++++++++++--
> net/colo-compare.h | 24 +++++
> net/colo.h | 4 +
> net/filter-rewriter.c | 109 +++++++++++++++++--
> net/filter.c | 17 +++
> net/net.c | 28 +++++
> qapi/migration.json | 70 +++++++++++++
> vl.c | 2 -
> 20 files changed, 846 insertions(+), 118 deletions(-)
> delete mode 100644 migration/colo-comm.c
> create mode 100644 net/colo-compare.h
>
> --
> 2.17.0
>
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
next prev parent reply other threads:[~2018-05-16 11:18 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-14 16:54 [Qemu-devel] [PATCH V7 RESEND 00/17] COLO: integrate colo frame with block replication and COLO proxy Zhang Chen
2018-05-14 16:54 ` [Qemu-devel] [PATCH V7 RESEND 01/17] filter-rewriter: fix memory leak for connection in connection_track_table Zhang Chen
2018-05-14 16:54 ` [Qemu-devel] [PATCH V7 RESEND 02/17] colo-compare: implement the process of checkpoint Zhang Chen
2018-05-14 16:54 ` [Qemu-devel] [PATCH V7 RESEND 03/17] colo-compare: use notifier to notify packets comparing result Zhang Chen
2018-05-14 16:54 ` [Qemu-devel] [PATCH V7 RESEND 04/17] COLO: integrate colo compare with colo frame Zhang Chen
2018-05-16 11:12 ` Dr. David Alan Gilbert
2018-05-16 13:55 ` Zhang Chen
2018-05-14 16:54 ` [Qemu-devel] [PATCH V7 RESEND 05/17] COLO: Add block replication into colo process Zhang Chen
2018-05-16 15:54 ` Dr. David Alan Gilbert
2018-05-14 16:54 ` [Qemu-devel] [PATCH V7 RESEND 06/17] COLO: Remove colo_state migration struct Zhang Chen
2018-05-15 16:02 ` Dr. David Alan Gilbert
2018-05-16 13:58 ` Zhang Chen
2018-05-14 16:54 ` [Qemu-devel] [PATCH V7 RESEND 07/17] COLO: Load dirty pages into SVM's RAM cache firstly Zhang Chen
2018-05-15 16:55 ` Dr. David Alan Gilbert
2018-05-20 18:30 ` Zhang Chen
2018-05-14 16:54 ` [Qemu-devel] [PATCH V7 RESEND 08/17] ram/COLO: Record the dirty pages that SVM received Zhang Chen
2018-05-14 16:54 ` [Qemu-devel] [PATCH V7 RESEND 09/17] COLO: Flush memory data from ram cache Zhang Chen
2018-05-15 14:44 ` Dr. David Alan Gilbert
2018-05-20 16:09 ` Zhang Chen
2018-05-14 16:54 ` [Qemu-devel] [PATCH V7 RESEND 10/17] qmp event: Add COLO_EXIT event to notify users while exited COLO Zhang Chen
2018-05-14 16:54 ` [Qemu-devel] [PATCH V7 RESEND 11/17] qapi: Add new command to query colo status Zhang Chen
2018-05-14 16:54 ` [Qemu-devel] [PATCH V7 RESEND 12/17] savevm: split the process of different stages for loadvm/savevm Zhang Chen
2018-05-15 18:56 ` Dr. David Alan Gilbert
2018-06-03 5:10 ` Zhang Chen
2018-06-19 19:00 ` Dr. David Alan Gilbert
2018-06-22 3:45 ` Zhang Chen
2018-05-14 16:54 ` [Qemu-devel] [PATCH V7 RESEND 13/17] COLO: flush host dirty ram from cache Zhang Chen
2018-05-15 15:32 ` Dr. David Alan Gilbert
2018-05-14 16:54 ` [Qemu-devel] [PATCH V7 RESEND 14/17] filter: Add handle_event method for NetFilterClass Zhang Chen
2018-05-14 16:54 ` [Qemu-devel] [PATCH V7 RESEND 15/17] filter-rewriter: handle checkpoint and failover event Zhang Chen
2018-05-14 16:54 ` [Qemu-devel] [PATCH V7 RESEND 16/17] COLO: notify net filters about checkpoint/failover event Zhang Chen
2018-05-17 9:48 ` Dr. David Alan Gilbert
2018-05-14 16:54 ` [Qemu-devel] [PATCH V7 RESEND 17/17] COLO: quick failover process by kick COLO thread Zhang Chen
2018-05-17 9:53 ` Dr. David Alan Gilbert
2018-05-16 11:18 ` Dr. David Alan Gilbert [this message]
2018-05-16 12:21 ` [Qemu-devel] [PATCH V7 RESEND 00/17] COLO: integrate colo frame with block replication and COLO proxy Jason Wang
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=20180516111828.GD2531@work-vm \
--to=dgilbert@redhat.com \
--cc=armbru@redhat.com \
--cc=eblake@redhat.com \
--cc=jasowang@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=zhangckid@gmail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).