On 2018年05月16日 19:18, Dr. David Alan Gilbert wrote:
> Hi Jason,
> Patches 1,2,3,14,15 seem mostly networky to me; can you have a look?
>
> Dave
Sure, will review.
Thanks
>
> * 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
>