Hi Jason, Patches 1,2,3,14,15 seem mostly networky to me; can you have a look?
Dave * Zhang Chen (zhangc...@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 / dgilb...@redhat.com / Manchester, UK