Re: [Qemu-devel] [PATCH V8 11/17] qapi: Add new command to query colo status

2018-06-11 Thread Zhang Chen
On Mon, Jun 11, 2018 at 2:48 PM, Markus Armbruster wrote: > Zhang Chen writes: > > > On Thu, Jun 7, 2018 at 8:59 PM, Markus Armbruster > wrote: > > > >> Zhang Chen writes: > >> > >> > Libvirt or other high level software can use this

Re: [Qemu-devel] [PATCH V8 14/17] filter: Add handle_event method for NetFilterClass

2018-06-11 Thread Zhang Chen
On Mon, Jun 11, 2018 at 3:02 PM, Jason Wang wrote: > > > On 2018年06月11日 14:46, Zhang Chen wrote: > >> On Mon, Jun 11, 2018 at 9:56 AM, Jason Wang wrote: >> >> >>> On 2018年06月10日 22:09, Zhang Chen wrote: >>> >>> I think

[Qemu-devel] [PATCH V8 16/17] COLO: notify net filters about checkpoint/failover event

2018-06-02 Thread Zhang Chen
From: zhanghailiang Notify all net filters about the checkpoint and failover event. Signed-off-by: zhanghailiang Reviewed-by: Dr. David Alan Gilbert --- migration/colo.c | 12 1 file changed, 12 insertions(+) diff --git a/migration/colo.c b/migration/colo.c index

[Qemu-devel] [Bug 1754542] Re: colo: vm crash with segmentation fault

2018-06-03 Thread Zhang Chen
Hi Suiheng, This bug have been fixed in my latest patch. Please retest it. https://www.mail-archive.com/qemu-devel@nongnu.org/msg538383.html github: https://github.com/zhangckid/qemu/tree/qemu-colo-18jun1 Thanks Zhang Chen -- You received this bug notification because you are a member of qemu

[Qemu-devel] [PATCH V8 12/17] savevm: split the process of different stages for loadvm/savevm

2018-06-02 Thread Zhang Chen
() and qemu_save_device_state() public, and simplify the codes of qemu_save_device_state() by calling the wrapper qemu_savevm_state_header(). Signed-off-by: zhanghailiang Signed-off-by: Li Zhijian Signed-off-by: Zhang Chen Reviewed-by: Dr. David Alan Gilbert --- migration/colo.c | 40

[Qemu-devel] [PATCH V8 15/17] filter-rewriter: handle checkpoint and failover event

2018-06-02 Thread Zhang Chen
-by: zhanghailiang Signed-off-by: Zhang Chen --- migration/colo.c | 13 + net/filter-rewriter.c | 40 2 files changed, 53 insertions(+) diff --git a/migration/colo.c b/migration/colo.c index 442471e088..0bff21d9e5 100644 --- a/migration/colo.c

[Qemu-devel] [PATCH V8 10/17] qmp event: Add COLO_EXIT event to notify users while exited COLO

2018-06-02 Thread Zhang Chen
necessary to notify users that we exited COLO mode. Signed-off-by: zhanghailiang Signed-off-by: Li Zhijian Signed-off-by: Zhang Chen Reviewed-by: Eric Blake --- migration/colo.c| 31 +++ qapi/migration.json | 38 ++ 2 files changed

[Qemu-devel] [PATCH V8 08/17] ram/COLO: Record the dirty pages that SVM received

2018-06-02 Thread Zhang Chen
We record the address of the dirty pages that received, it will help flushing pages that cached into SVM. Here, it is a trick, we record dirty pages by re-using migration dirty bitmap. In the later patch, we will start the dirty log for SVM, just like migration, in this way, we can record both

[Qemu-devel] [PATCH V8 04/17] COLO: integrate colo compare with colo frame

2018-06-02 Thread Zhang Chen
-by: zhanghailiang Signed-off-by: Zhang Chen Reviewed-by: Dr. David Alan Gilbert --- migration/colo.c | 42 -- migration/migration.c | 6 ++ 2 files changed, 42 insertions(+), 6 deletions(-) diff --git a/migration/colo.c b/migration/colo.c index

[Qemu-devel] [PATCH V8 06/17] COLO: Remove colo_state migration struct

2018-06-02 Thread Zhang Chen
-by: zhanghailiang Signed-off-by: Zhang Chen Reviewed-by: Dr. David Alan Gilbert --- include/migration/colo.h | 5 +-- migration/Makefile.objs | 2 +- migration/colo-comm.c| 76 migration/colo.c | 13 ++- migration/migration.c| 23

[Qemu-devel] [PATCH V8 00/17] COLO: integrate colo frame with block replication and COLO proxy

2018-06-02 Thread Zhang Chen
mentation fault. 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 (13): filter-rewriter: fix memory

[Qemu-devel] [PATCH V8 01/17] filter-rewriter: fix memory leak for connection in connection_track_table

2018-06-02 Thread Zhang Chen
After a net connection is closed, we didn't clear its releated resources in connection_track_table, which will lead to memory leak. Let't track the state of net connection, if it is closed, its related resources will be cleared up. Signed-off-by: zhanghailiang Signed-off-by: Zhang Chen

[Qemu-devel] [PATCH V8 09/17] COLO: Flush memory data from ram cache

2018-06-02 Thread Zhang Chen
During the time of VM's running, PVM may dirty some pages, we will transfer PVM's dirty pages to SVM and store them into SVM's RAM cache at next checkpoint time. So, the content of SVM's RAM cache will always be same with PVM's memory after checkpoint. Instead of flushing all content of PVM's RAM

[Qemu-devel] [PATCH V8 13/17] COLO: flush host dirty ram from cache

2018-06-02 Thread Zhang Chen
From: zhanghailiang Don't need to flush all VM's ram from cache, only flush the dirty pages since last checkpoint Signed-off-by: Li Zhijian Signed-off-by: Zhang Chen Signed-off-by: zhanghailiang Reviewed-by: Dr. David Alan Gilbert --- migration/ram.c | 10 ++ 1 file changed, 10

[Qemu-devel] [PATCH V8 02/17] colo-compare: implement the process of checkpoint

2018-06-02 Thread Zhang Chen
While do checkpoint, we need to flush all the unhandled packets, By using the filter notifier mechanism, we can easily to notify every compare object to do this process, which runs inside of compare threads as a coroutine. Signed-off-by: zhanghailiang Signed-off-by: Zhang Chen --- include

[Qemu-devel] [PATCH V8 05/17] COLO: Add block replication into colo process

2018-06-02 Thread Zhang Chen
Make sure master start block replication after slave's block replication started. Besides, we need to activate VM's blocks before goes into COLO state. Signed-off-by: zhanghailiang Signed-off-by: Li Zhijian Signed-off-by: Zhang Chen --- migration/colo.c | 43

[Qemu-devel] [PATCH V8 07/17] COLO: Load dirty pages into SVM's RAM cache firstly

2018-06-02 Thread Zhang Chen
-by: zhanghailiang Signed-off-by: Li Zhijian Signed-off-by: Zhang Chen --- include/exec/ram_addr.h | 1 + migration/migration.c | 6 +++ migration/ram.c | 83 - migration/ram.h | 4 ++ migration/savevm.c | 2 +- 5 files changed, 93

Re: [Qemu-devel] [PATCH V7 RESEND 12/17] savevm: split the process of different stages for loadvm/savevm

2018-06-02 Thread Zhang Chen
On Wed, May 16, 2018 at 2:56 AM, Dr. David Alan Gilbert wrote: > * Zhang Chen (zhangc...@gmail.com) wrote: > > From: zhanghailiang > > > > There are several stages during loadvm/savevm process. In different > stage, > > migration incoming processes different

[Qemu-devel] [PATCH V8 03/17] colo-compare: use notifier to notify packets comparing result

2018-06-02 Thread Zhang Chen
It's a good idea to use notifier to notify COLO frame of inconsistent packets comparing. Signed-off-by: Zhang Chen Signed-off-by: zhanghailiang --- net/colo-compare.c | 32 +--- net/colo-compare.h | 2 ++ 2 files changed, 27 insertions(+), 7 deletions(-) diff

[Qemu-devel] [PATCH V8 14/17] filter: Add handle_event method for NetFilterClass

2018-06-02 Thread Zhang Chen
Filter needs to process the event of checkpoint/failover or other event passed by COLO frame. Signed-off-by: zhanghailiang --- include/net/filter.h | 5 + net/filter.c | 17 + net/net.c| 28 3 files changed, 50 insertions(+)

[Qemu-devel] [PATCH V8 11/17] qapi: Add new command to query colo status

2018-06-02 Thread Zhang Chen
Libvirt or other high level software can use this command query colo status. You can test this command like that: {'execute':'query-colo-status'} Signed-off-by: Zhang Chen --- migration/colo.c| 39 +++ qapi/migration.json | 34

[Qemu-devel] [PATCH V8 17/17] COLO: quick failover process by kick COLO thread

2018-06-02 Thread Zhang Chen
From: zhanghailiang COLO thread may sleep at qemu_sem_wait(>colo_checkpoint_sem), while failover works begin, It's better to wakeup it to quick the process. Signed-off-by: zhanghailiang Reviewed-by: Dr. David Alan Gilbert --- migration/colo.c | 8 1 file changed, 8 insertions(+)

Re: [Qemu-devel] [PATCH V9 11/20] qapi/migration.json: Rename COLO unknown mode to none mode.

2018-06-29 Thread Zhang Chen
On Fri, Jun 29, 2018 at 5:14 PM, Dr. David Alan Gilbert wrote: > * Eric Blake (ebl...@redhat.com) wrote: > > On 06/27/2018 03:41 PM, Zhang Chen wrote: > > > From: Zhang Chen > > > > > > Suggested by Markus Armbruster rename COLO unknown mode to none mode. &

[Qemu-devel] [PATCH V9 01/20] filter-rewriter: Add TCP state machine and fix memory leak in connection_track_table

2018-06-27 Thread Zhang Chen
, if it is closed, its related resources will be cleared up. Signed-off-by: zhanghailiang Signed-off-by: Zhang Chen --- net/colo.c| 2 +- net/colo.h| 9 ++-- net/filter-rewriter.c | 105 ++ 3 files changed, 100 insertions(+), 16

[Qemu-devel] [PATCH V9 00/20] COLO: integrate colo frame with block replication and COLO proxy

2018-06-27 Thread Zhang Chen
status COLO vm crash with segmentation fault. 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 (16): filter-rewriter: Add TCP state ma

[Qemu-devel] [PATCH V9 03/20] colo-compare: use notifier to notify packets comparing result

2018-06-27 Thread Zhang Chen
It's a good idea to use notifier to notify COLO frame of inconsistent packets comparing. Signed-off-by: Zhang Chen Signed-off-by: zhanghailiang --- net/colo-compare.c | 37 ++--- net/colo-compare.h | 2 ++ 2 files changed, 28 insertions(+), 11 deletions

[Qemu-devel] [PATCH V9 09/20] COLO: Flush memory data from ram cache

2018-06-27 Thread Zhang Chen
During the time of VM's running, PVM may dirty some pages, we will transfer PVM's dirty pages to SVM and store them into SVM's RAM cache at next checkpoint time. So, the content of SVM's RAM cache will always be same with PVM's memory after checkpoint. Instead of flushing all content of PVM's RAM

[Qemu-devel] [PATCH V9 04/20] COLO: integrate colo compare with colo frame

2018-06-27 Thread Zhang Chen
-by: zhanghailiang Signed-off-by: Zhang Chen Reviewed-by: Dr. David Alan Gilbert --- migration/colo.c | 42 -- migration/migration.c | 6 ++ 2 files changed, 42 insertions(+), 6 deletions(-) diff --git a/migration/colo.c b/migration/colo.c index

[Qemu-devel] [PATCH V9 10/20] qmp event: Add COLO_EXIT event to notify users while exited COLO

2018-06-27 Thread Zhang Chen
necessary to notify users that we exited COLO mode. Signed-off-by: zhanghailiang Signed-off-by: Li Zhijian Signed-off-by: Zhang Chen Reviewed-by: Eric Blake Reviewed-by: Markus Armbruster --- migration/colo.c| 31 +++ qapi/migration.json | 38

[Qemu-devel] [PATCH V9 18/20] COLO: notify net filters about checkpoint/failover event

2018-06-27 Thread Zhang Chen
From: zhanghailiang Notify all net filters about the checkpoint and failover event. Signed-off-by: zhanghailiang Reviewed-by: Dr. David Alan Gilbert --- migration/colo.c | 15 +++ 1 file changed, 15 insertions(+) diff --git a/migration/colo.c b/migration/colo.c index

[Qemu-devel] [PATCH V9 19/20] COLO: quick failover process by kick COLO thread

2018-06-27 Thread Zhang Chen
From: zhanghailiang COLO thread may sleep at qemu_sem_wait(>colo_checkpoint_sem), while failover works begin, It's better to wakeup it to quick the process. Signed-off-by: zhanghailiang Reviewed-by: Dr. David Alan Gilbert --- migration/colo.c | 8 1 file changed, 8 insertions(+)

[Qemu-devel] [PATCH V9 14/20] COLO: flush host dirty ram from cache

2018-06-27 Thread Zhang Chen
From: zhanghailiang Don't need to flush all VM's ram from cache, only flush the dirty pages since last checkpoint Signed-off-by: Li Zhijian Signed-off-by: Zhang Chen Signed-off-by: zhanghailiang Reviewed-by: Dr. David Alan Gilbert --- migration/ram.c | 10 ++ 1 file changed, 10

[Qemu-devel] [PATCH V9 08/20] ram/COLO: Record the dirty pages that SVM received

2018-06-27 Thread Zhang Chen
We record the address of the dirty pages that received, it will help flushing pages that cached into SVM. Here, it is a trick, we record dirty pages by re-using migration dirty bitmap. In the later patch, we will start the dirty log for SVM, just like migration, in this way, we can record both

[Qemu-devel] [PATCH V9 13/20] savevm: split the process of different stages for loadvm/savevm

2018-06-27 Thread Zhang Chen
() and qemu_save_device_state() public, and simplify the codes of qemu_save_device_state() by calling the wrapper qemu_savevm_state_header(). Signed-off-by: zhanghailiang Signed-off-by: Li Zhijian Signed-off-by: Zhang Chen Reviewed-by: Dr. David Alan Gilbert --- migration/colo.c | 41

[Qemu-devel] [PATCH V9 02/20] colo-compare: implement the process of checkpoint

2018-06-27 Thread Zhang Chen
While do checkpoint, we need to flush all the unhandled packets, By using the filter notifier mechanism, we can easily to notify every compare object to do this process, which runs inside of compare threads as a coroutine. Signed-off-by: zhanghailiang Signed-off-by: Zhang Chen --- include

[Qemu-devel] [PATCH V9 06/20] COLO: Remove colo_state migration struct

2018-06-27 Thread Zhang Chen
-by: zhanghailiang Signed-off-by: Zhang Chen Reviewed-by: Dr. David Alan Gilbert --- include/migration/colo.h | 5 +-- migration/Makefile.objs | 2 +- migration/colo-comm.c| 76 migration/colo.c | 13 ++- migration/migration.c| 23

[Qemu-devel] [PATCH V9 16/20] filter: Add handle_event method for NetFilterClass

2018-06-27 Thread Zhang Chen
Filter needs to process the event of checkpoint/failover or other event passed by COLO frame. Signed-off-by: zhanghailiang --- include/net/filter.h | 5 + net/filter.c | 17 + net/net.c| 28 3 files changed, 50 insertions(+)

[Qemu-devel] [PATCH V9 12/20] qapi: Add new command to query colo status

2018-06-27 Thread Zhang Chen
Libvirt or other high level software can use this command query colo status. You can test this command like that: {'execute':'query-colo-status'} Signed-off-by: Zhang Chen --- migration/colo.c| 39 +++ qapi/migration.json | 34

[Qemu-devel] [PATCH V9 15/20] net/net.c: Add net client type check function for COLO

2018-06-27 Thread Zhang Chen
From: Zhang Chen We add is_colo_support_client_type() to check the net client type for COLO-compare. Currently we just support TAP. Suggested by Jason. Signed-off-by: Zhang Chen --- include/net/net.h | 1 + net/colo-compare.c | 5 + net/net.c | 14 ++ 3 files

[Qemu-devel] [PATCH V9 05/20] COLO: Add block replication into colo process

2018-06-27 Thread Zhang Chen
Make sure master start block replication after slave's block replication started. Besides, we need to activate VM's blocks before goes into COLO state. Signed-off-by: zhanghailiang Signed-off-by: Li Zhijian Signed-off-by: Zhang Chen --- migration/colo.c | 43

[Qemu-devel] [PATCH V9 11/20] qapi/migration.json: Rename COLO unknown mode to none mode.

2018-06-27 Thread Zhang Chen
From: Zhang Chen Suggested by Markus Armbruster rename COLO unknown mode to none mode. Signed-off-by: Zhang Chen --- migration/colo-failover.c | 2 +- migration/colo.c | 2 +- qapi/migration.json | 10 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git

[Qemu-devel] [PATCH V9 17/20] filter-rewriter: handle checkpoint and failover event

2018-06-27 Thread Zhang Chen
-by: zhanghailiang Signed-off-by: Zhang Chen --- net/colo-compare.c| 12 - net/colo.c| 8 ++ net/colo.h| 2 ++ net/filter-rewriter.c | 57 +++ 4 files changed, 73 insertions(+), 6 deletions(-) diff --git a/net/colo

[Qemu-devel] [PATCH V9 07/20] COLO: Load dirty pages into SVM's RAM cache firstly

2018-06-27 Thread Zhang Chen
-by: zhanghailiang Signed-off-by: Li Zhijian Signed-off-by: Zhang Chen --- include/exec/ram_addr.h | 1 + migration/migration.c | 6 +++ migration/ram.c | 83 - migration/ram.h | 4 ++ migration/savevm.c | 2 +- 5 files changed, 93

[Qemu-devel] [PATCH V9 20/20] docs: Add COLO status diagram to COLO-FT.txt

2018-06-27 Thread Zhang Chen
From: Zhang Chen This diagram make user better understand COLO. Suggested by Markus Armbruster. Signed-off-by: Zhang Chen --- docs/COLO-FT.txt | 34 ++ 1 file changed, 34 insertions(+) diff --git a/docs/COLO-FT.txt b/docs/COLO-FT.txt index e289be2f41

Re: [Qemu-devel] [PATCH 17/67] colo: use local path for local headers

2018-05-03 Thread Zhang Chen
ent. > > Signed-off-by: Michael S. Tsirkin <m...@redhat.com> > Reviewed-by: Zhang Chen <zhangc...@gmail.com> > --- > net/colo-compare.c| 2 +- > net/colo.c| 2 +- > net/filter-rewriter.c | 2 +- > 3 files changed, 3 insertions(+), 3 deletion

Re: [Qemu-devel] [PATCH v3 1/2] colo: modified the payload compare function

2017-12-24 Thread Zhang Chen
On Fri, Dec 22, 2017 at 5:28 PM, Mao Zhongyi <maozy.f...@cn.fujitsu.com> wrote: > Modified the function colo_packet_compare_common to prepare for the > tcp packet comparison in the next patch. > > Cc: Zhang Chen <zhangc...@gmail.com> > Cc: Li Zhijian <lizhij...@cn

Re: [Qemu-devel] [PATCH v3 2/2] colo: compare the packet based on the tcp sequence number

2017-12-24 Thread Zhang Chen
5|6|7|8|9|0| spkt1 > ---|\| >| \offset | > -v-v > | header |4|5|6|7|8|9|0| ppkt2 > > > In this way, the performance can reach native 20% in my multiple > tests. > > Cc: Z

Re: [Qemu-devel] [PATCH RESEND V3 10/16] qmp event: Add COLO_EXIT event to notify users while exited COLO

2018-01-07 Thread Zhang Chen
On Thu, Jan 4, 2018 at 5:10 PM, Eric Blake <ebl...@redhat.com> wrote: > On 01/04/2018 12:01 AM, Zhang Chen wrote: > > From: zhanghailiang <zhang.zhanghaili...@huawei.com> > > > > If some errors happen during VM's COLO FT stage, it's important to > > n

[Qemu-devel] [PATCH V4 01/16] filter-rewriter: fix memory leak for connection in connection_track_table

2018-01-19 Thread Zhang Chen
com> Signed-off-by: Zhang Chen <zhangc...@gmail.com> --- net/colo.h| 4 +++ net/filter-rewriter.c | 69 +-- 2 files changed, 66 insertions(+), 7 deletions(-) diff --git a/net/colo.h b/net/colo.h index 0658e86..0193935 100644 ---

[Qemu-devel] [PATCH V4 02/16] colo-compare: implement the process of checkpoint

2018-01-19 Thread Zhang Chen
ed-off-by: Zhang Chen <zhangc...@gmail.com> --- include/migration/colo.h | 6 net/colo-compare.c | 76 net/colo-compare.h | 22 ++ 3 files changed, 104 insertions(+) create mode 100644 net/colo-compare.h diff --g

[Qemu-devel] [PATCH V4 00/16] COLO: integrate colo frame with block replication and COLO proxy

2018-01-19 Thread Zhang Chen
From: Zhang Chen <chen.zh...@intel.com> Hi~ 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 hav

[Qemu-devel] [PATCH V4 03/16] colo-compare: use notifier to notify packets comparing result

2018-01-19 Thread Zhang Chen
It's a good idea to use notifier to notify COLO frame of inconsistent packets comparing. Signed-off-by: Zhang Chen <zhangc...@gmail.com> Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> --- net/colo-compare.c | 32 +--- net/colo-compare.h | 2

[Qemu-devel] [PATCH V4 09/16] COLO: Flush memory data from ram cache

2018-01-19 Thread Zhang Chen
From: zhanghailiang During the time of VM's running, PVM may dirty some pages, we will transfer PVM's dirty pages to SVM and store them into SVM's RAM cache at next checkpoint time. So, the content of SVM's RAM cache will always be same with PVM's memory after

[Qemu-devel] [PATCH V4 12/16] COLO: flush host dirty ram from cache

2018-01-19 Thread Zhang Chen
From: zhanghailiang <zhang.zhanghaili...@huawei.com> Don't need to flush all VM's ram from cache, only flush the dirty pages since last checkpoint Signed-off-by: Li Zhijian <lizhij...@cn.fujitsu.com> Signed-off-by: Zhang Chen <zhangc...@gmail.com> Signed-off-by: zhanghailiang

[Qemu-devel] [PATCH V4 08/16] ram/COLO: Record the dirty pages that SVM received

2018-01-19 Thread Zhang Chen
We record the address of the dirty pages that received, it will help flushing pages that cached into SVM. Here, it is a trick, we record dirty pages by re-using migration dirty bitmap. In the later patch, we will start the dirty log for SVM, just like migration, in this way, we can record both

[Qemu-devel] [PATCH V4 15/16] COLO: notify net filters about checkpoint/failover event

2018-01-19 Thread Zhang Chen
From: zhanghailiang Notify all net filters about the checkpoint and failover event. Signed-off-by: zhanghailiang --- migration/colo.c | 12 1 file changed, 12 insertions(+) diff --git a/migration/colo.c

[Qemu-devel] [PATCH V4 04/16] COLO: integrate colo compare with colo frame

2018-01-19 Thread Zhang Chen
-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Signed-off-by: Zhang Chen <zhangc...@gmail.com> Reviewed-by: Dr. David Alan Gilbert <dgilb...@redhat.com> --- migration/colo.c | 42 -- migration/migration.c | 4 ++-- 2 files chan

[Qemu-devel] [PATCH V4 16/16] COLO: quick failover process by kick COLO thread

2018-01-19 Thread Zhang Chen
From: zhanghailiang COLO thread may sleep at qemu_sem_wait(>colo_checkpoint_sem), while failover works begin, It's better to wakeup it to quick the process. Signed-off-by: zhanghailiang --- migration/colo.c | 8 1 file

[Qemu-devel] [PATCH V4 06/16] COLO: Remove colo_state migration struct

2018-01-19 Thread Zhang Chen
From: zhanghailiang We need to know if migration is going into COLO state for incoming side before start normal migration. Instead by using the VMStateDescription to send colo_state from source side to destination side, we use MIG_CMD_ENABLE_COLO to indicate

[Qemu-devel] [PATCH V4 05/16] COLO: Add block replication into colo process

2018-01-19 Thread Zhang Chen
Make sure master start block replication after slave's block replication started. Besides, we need to activate VM's blocks before goes into COLO state. Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Signed-off-by: Li Zhijian <lizhij...@cn.fujitsu.com> Signed-off-by

[Qemu-devel] [PATCH V4 11/16] savevm: split the process of different stages for loadvm/savevm

2018-01-19 Thread Zhang Chen
com> Signed-off-by: Zhang Chen <zhangc...@gmail.com> Reviewed-by: Dr. David Alan Gilbert <dgilb...@redhat.com> --- migration/colo.c | 37 + migration/savevm.c | 35 --- migration/savevm.h | 4 3 files changed,

[Qemu-devel] [PATCH V4 13/16] filter: Add handle_event method for NetFilterClass

2018-01-19 Thread Zhang Chen
Filter needs to process the event of checkpoint/failover or other event passed by COLO frame. Signed-off-by: zhanghailiang --- include/net/filter.h | 5 + net/filter.c | 17 + net/net.c| 28 3

[Qemu-devel] [PATCH V4 07/16] COLO: Load dirty pages into SVM's RAM cache firstly

2018-01-19 Thread Zhang Chen
to SVM after we receive all PVM's state. Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Signed-off-by: Li Zhijian <lizhij...@cn.fujitsu.com> Signed-off-by: Zhang Chen <zhangc...@gmail.com> --- include/exec/ram_addr.h | 1 + migration/migration.c | 2 + migr

[Qemu-devel] [PATCH V4 14/16] filter-rewriter: handle checkpoint and failover event

2018-01-19 Thread Zhang Chen
-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Signed-off-by: Zhang Chen <zhangc...@gmail.com> --- migration/colo.c | 13 + net/filter-rewriter.c | 40 2 files changed, 53 insertions(+) diff --git a/migration/colo.c b/migration/

[Qemu-devel] [PATCH V4 10/16] qmp event: Add COLO_EXIT event to notify users while exited COLO

2018-01-19 Thread Zhang Chen
COLO's failover verdict, it is still necessary to notify users that we exited COLO mode. Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Signed-off-by: Li Zhijian <lizhij...@cn.fujitsu.com> Signed-off-by: Zhang Chen <zhangc...@gmail.com> Reviewed-by: Eric

Re: [Qemu-devel] [PATCH V4 00/16] COLO: integrate colo frame with block replication and COLO proxy

2018-01-29 Thread Zhang Chen
Hi~ All~ No news for a long time, this is the last part to make COLO running in upstream. Any comments for this series? Thanks Zhang Chen On Fri, Jan 19, 2018 at 1:44 PM, Zhang Chen <zhangc...@gmail.com> wrote: > From: Zhang Chen <chen.zh...@intel.com> > > Hi~

Re: [Qemu-devel] [PATCH V4 10/16] qmp event: Add COLO_EXIT event to notify users while exited COLO

2018-02-05 Thread Zhang Chen
On Sat, Feb 3, 2018 at 3:49 PM, Markus Armbruster <arm...@redhat.com> wrote: > Zhang Chen <zhangc...@gmail.com> writes: > > > From: zhanghailiang <zhang.zhanghaili...@huawei.com> > > > > If some errors happen during VM's COLO FT stage, it's impor

Re: [Qemu-devel] [PATCH V4 10/16] qmp event: Add COLO_EXIT event to notify users while exited COLO

2018-02-06 Thread Zhang Chen
On Tue, Feb 6, 2018 at 5:53 PM, Markus Armbruster <arm...@redhat.com> wrote: > Zhang Chen <zhangc...@gmail.com> writes: > > > On Tue, Feb 6, 2018 at 3:27 PM, Markus Armbruster <arm...@redhat.com> > wrote: > > > >> Zhang Chen <zhangc...@gmail.com&

Re: [Qemu-devel] [PATCH V4 10/16] qmp event: Add COLO_EXIT event to notify users while exited COLO

2018-02-06 Thread Zhang Chen
On Tue, Feb 6, 2018 at 3:27 PM, Markus Armbruster <arm...@redhat.com> wrote: > Zhang Chen <zhangc...@gmail.com> writes: > > > On Sat, Feb 3, 2018 at 3:49 PM, Markus Armbruster <arm...@redhat.com> > wrote: > > > >> Zhang Chen <zhangc...

[Qemu-devel] [PATCH RESEND V3 03/16] colo-compare: use notifier to notify packets comparing result

2018-01-03 Thread Zhang Chen
It's a good idea to use notifier to notify COLO frame of inconsistent packets comparing. Cc: Jason Wang <jasow...@redhat.com> Signed-off-by: Zhang Chen <zhangc...@gmail.com> Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> --- net/c

[Qemu-devel] [PATCH RESEND V3 05/16] COLO: Add block replication into colo process

2018-01-03 Thread Zhang Chen
Make sure master start block replication after slave's block replication started. Besides, we need to activate VM's blocks before goes into COLO state. Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Signed-off-by: Li Zhijian <lizhij...@cn.fujitsu.com> Signed-off-by

[Qemu-devel] [PATCH RESEND V3 01/16] filter-rewriter: fix memory leak for connection in connection_track_table

2018-01-03 Thread Zhang Chen
com> Signed-off-by: Zhang Chen <zhangc...@gmail.com> --- net/colo.h| 4 +++ net/filter-rewriter.c | 69 +-- 2 files changed, 66 insertions(+), 7 deletions(-) diff --git a/net/colo.h b/net/colo.h index 0658e86..0193935 100644 ---

[Qemu-devel] [PATCH RESEND V3 00/16] COLO: integrate colo frame with block replication and COLO proxy

2018-01-03 Thread Zhang Chen
shared disk part to indepentent patch set. - Optimize codes. Zhang Chen (8): 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

[Qemu-devel] [PATCH RESEND V3 11/16] savevm: split the process of different stages for loadvm/savevm

2018-01-03 Thread Zhang Chen
off-by: Li Zhijian <lizhij...@cn.fujitsu.com> Signed-off-by: Zhang Chen <zhangc...@gmail.com> Reviewed-by: Dr. David Alan Gilbert <dgilb...@redhat.com> --- migration/colo.c | 37 + migration/savevm.c | 35 --- m

[Qemu-devel] [PATCH RESEND V3 02/16] colo-compare: implement the process of checkpoint

2018-01-03 Thread Zhang Chen
iliang <zhang.zhanghaili...@huawei.com> Signed-off-by: Zhang Chen <zhangc...@gmail.com> --- include/migration/colo.h | 6 net/colo-compare.c | 71 net/colo-compare.h | 22 +++ 3 files changed, 99 insertions(+) crea

[Qemu-devel] [PATCH RESEND V3 07/16] COLO: Load dirty pages into SVM's RAM cache firstly

2018-01-03 Thread Zhang Chen
to SVM after we receive all PVM's state. Cc: Dr. David Alan Gilbert <dgilb...@redhat.com> Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Signed-off-by: Li Zhijian <lizhij...@cn.fujitsu.com> Signed-off-by: Zhang Chen <zhangc...@gmail.com> --- include/exe

[Qemu-devel] [PATCH RESEND V3 06/16] COLO: Remove colo_state migration struct

2018-01-03 Thread Zhang Chen
From: zhanghailiang We need to know if migration is going into COLO state for incoming side before start normal migration. Instead by using the VMStateDescription to send colo_state from source side to destination side, we use MIG_CMD_ENABLE_COLO to indicate

[Qemu-devel] [PATCH RESEND V3 09/16] COLO: Flush memory data from ram cache

2018-01-03 Thread Zhang Chen
From: zhanghailiang During the time of VM's running, PVM may dirty some pages, we will transfer PVM's dirty pages to SVM and store them into SVM's RAM cache at next checkpoint time. So, the content of SVM's RAM cache will always be same with PVM's memory after

[Qemu-devel] [PATCH RESEND V3 13/16] filter: Add handle_event method for NetFilterClass

2018-01-03 Thread Zhang Chen
Filter needs to process the event of checkpoint/failover or other event passed by COLO frame. Cc: Jason Wang Signed-off-by: zhanghailiang --- include/net/filter.h | 5 + net/filter.c | 17 + net/net.c

[Qemu-devel] [PATCH RESEND V3 04/16] COLO: integrate colo compare with colo frame

2018-01-03 Thread Zhang Chen
Wang <jasow...@redhat.com> Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Signed-off-by: Zhang Chen <zhangc...@gmail.com> Reviewed-by: Dr. David Alan Gilbert <dgilb...@redhat.com> --- migration/colo.c | 42 -- mi

[Qemu-devel] [PATCH RESEND V3 08/16] ram/COLO: Record the dirty pages that SVM received

2018-01-03 Thread Zhang Chen
We record the address of the dirty pages that received, it will help flushing pages that cached into SVM. Here, it is a trick, we record dirty pages by re-using migration dirty bitmap. In the later patch, we will start the dirty log for SVM, just like migration, in this way, we can record both

[Qemu-devel] [PATCH RESEND V3 10/16] qmp event: Add COLO_EXIT event to notify users while exited COLO

2018-01-03 Thread Zhang Chen
@cn.fujitsu.com> Signed-off-by: Zhang Chen <zhangc...@gmail.com> Reviewed-by: Eric Blake <ebl...@redhat.com> --- migration/colo.c| 19 +++ qapi-schema.json| 21 + qapi/migration.json | 13 + 3 files changed, 53 insertions(+) diff -

[Qemu-devel] [PATCH RESEND V3 15/16] COLO: notify net filters about checkpoint/failover event

2018-01-03 Thread Zhang Chen
From: zhanghailiang Notify all net filters about the checkpoint and failover event. Cc: Jason Wang Signed-off-by: zhanghailiang --- migration/colo.c | 12 1 file changed, 12 insertions(+) diff

[Qemu-devel] [PATCH RESEND V3 12/16] COLO: flush host dirty ram from cache

2018-01-03 Thread Zhang Chen
From: zhanghailiang <zhang.zhanghaili...@huawei.com> Don't need to flush all VM's ram from cache, only flush the dirty pages since last checkpoint Cc: Juan Quintela <quint...@redhat.com> Signed-off-by: Li Zhijian <lizhij...@cn.fujitsu.com> Signed-off-by: Zhang Chen <zhangc

[Qemu-devel] [PATCH RESEND V3 16/16] COLO: quick failover process by kick COLO thread

2018-01-03 Thread Zhang Chen
From: zhanghailiang COLO thread may sleep at qemu_sem_wait(>colo_checkpoint_sem), while failover works begin, It's better to wakeup it to quick the process. Signed-off-by: zhanghailiang --- migration/colo.c | 8 1 file

[Qemu-devel] [PATCH RESEND V3 14/16] filter-rewriter: handle checkpoint and failover event

2018-01-03 Thread Zhang Chen
<jasow...@redhat.com> Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Signed-off-by: Zhang Chen <zhangc...@gmail.com> --- migration/colo.c | 13 + net/filter-rewriter.c | 40 2 files changed, 53 inserti

Re: [Qemu-devel] [PATCH V7 RESEND 12/17] savevm: split the process of different stages for loadvm/savevm

2018-06-21 Thread Zhang Chen
On Wed, Jun 20, 2018 at 3:00 AM, Dr. David Alan Gilbert wrote: > * Zhang Chen (zhangc...@gmail.com) wrote: > > On Wed, May 16, 2018 at 2:56 AM, Dr. David Alan Gilbert < > dgilb...@redhat.com > > > wrote: > > > > > * Zhang Chen (zhangc...@gmail.

Re: [Qemu-devel] [Bug 1754542] Re: colo: vm crash with segmentation fault

2018-07-27 Thread Zhang Chen
Hi Chao, Yes, virtio blk isn't supported by current COLO, you can try the "-drive if=ide ". Thanks Zhang Chen On Fri, Jul 27, 2018 at 12:53 PM, WANG Chao wrote: > Hi, Zhang Chen > > It seems virtio blk isn't working. > > I test coloft against https://githu

Re: [Qemu-devel] [PATCH V10 08/20] ram/COLO: Record the dirty pages that SVM received

2018-08-01 Thread Zhang Chen
On Sat, Jul 28, 2018 at 2:51 AM, Dr. David Alan Gilbert wrote: > * Zhang Chen (zhangc...@gmail.com) wrote: > > We record the address of the dirty pages that received, > > it will help flushing pages that cached into SVM. > > > > Here, it is a trick, we record dirty

Re: [Qemu-devel] [Bug 1754542] Re: colo: vm crash with segmentation fault

2018-08-07 Thread Zhang Chen
Currently, we support virtio-net, and not support all vhost-xxx. On Fri, Jul 27, 2018 at 6:41 PM WANG Chao wrote: > Yes, ide works. > > And by the way, how about other virtio devices or vhost-xxx? Are they > supported by COLO? > > Do you know the working set of devices? My preliminary test

Re: [Qemu-devel] [PATCH V10 05/20] COLO: Add block replication into colo process

2018-08-11 Thread Zhang Chen
On Tue, Aug 7, 2018 at 10:30 PM Dr. David Alan Gilbert wrote: > * Zhang Chen (zhangc...@gmail.com) wrote: > > Make sure master start block replication after slave's block > > replication started. > > > > Besides, we need to activate VM's blocks before goes into > &g

[Qemu-devel] [PATCH V11 06/20] COLO: Remove colo_state migration struct

2018-08-11 Thread Zhang Chen
-by: zhanghailiang Signed-off-by: Zhang Chen Signed-off-by: Zhang Chen Reviewed-by: Dr. David Alan Gilbert --- include/migration/colo.h | 5 +-- migration/Makefile.objs | 2 +- migration/colo-comm.c| 76 migration/colo.c | 13 ++- migration

[Qemu-devel] [PATCH V11 04/20] COLO: integrate colo compare with colo frame

2018-08-11 Thread Zhang Chen
-by: zhanghailiang Signed-off-by: Zhang Chen Signed-off-by: Zhang Chen Reviewed-by: Dr. David Alan Gilbert --- migration/colo.c | 42 -- migration/migration.c | 6 ++ 2 files changed, 42 insertions(+), 6 deletions(-) diff --git a/migration

[Qemu-devel] [PATCH V11 05/20] COLO: Add block replication into colo process

2018-08-11 Thread Zhang Chen
Make sure master start block replication after slave's block replication started. Besides, we need to activate VM's blocks before goes into COLO state. Signed-off-by: zhanghailiang Signed-off-by: Li Zhijian Signed-off-by: Zhang Chen Signed-off-by: Zhang Chen --- migration/colo.c | 43

[Qemu-devel] [PATCH V11 17/20] filter-rewriter: handle checkpoint and failover event

2018-08-11 Thread Zhang Chen
-by: zhanghailiang Signed-off-by: Zhang Chen Signed-off-by: Zhang Chen --- net/colo-compare.c| 12 - net/colo.c| 8 ++ net/colo.h| 2 ++ net/filter-rewriter.c | 57 +++ 4 files changed, 73 insertions(+), 6 deletions

[Qemu-devel] [PATCH V11 12/20] qapi: Add new command to query colo status

2018-08-11 Thread Zhang Chen
Libvirt or other high level software can use this command query colo status. You can test this command like that: {'execute':'query-colo-status'} Signed-off-by: Zhang Chen Signed-off-by: Zhang Chen --- migration/colo.c| 21 + qapi/migration.json | 32

[Qemu-devel] [PATCH V11 16/20] filter: Add handle_event method for NetFilterClass

2018-08-11 Thread Zhang Chen
Filter needs to process the event of checkpoint/failover or other event passed by COLO frame. Signed-off-by: zhanghailiang --- include/net/filter.h | 5 + net/filter.c | 17 + net/net.c| 28 3 files changed, 50 insertions(+)

[Qemu-devel] [PATCH V11 20/20] docs: Add COLO status diagram to COLO-FT.txt

2018-08-11 Thread Zhang Chen
From: Zhang Chen This diagram make user better understand COLO. Suggested by Markus Armbruster. Signed-off-by: Zhang Chen Signed-off-by: Zhang Chen --- docs/COLO-FT.txt | 34 ++ 1 file changed, 34 insertions(+) diff --git a/docs/COLO-FT.txt b/docs/COLO-FT.txt

[Qemu-devel] [PATCH V11 18/20] COLO: notify net filters about checkpoint/failover event

2018-08-11 Thread Zhang Chen
From: zhanghailiang Notify all net filters about the checkpoint and failover event. Signed-off-by: zhanghailiang Reviewed-by: Dr. David Alan Gilbert --- migration/colo.c | 15 +++ 1 file changed, 15 insertions(+) diff --git a/migration/colo.c b/migration/colo.c index

Re: [Qemu-devel] [PATCH V10 08/20] ram/COLO: Record the dirty pages that SVM received

2018-08-11 Thread Zhang Chen
On Wed, Aug 8, 2018 at 2:44 AM Dr. David Alan Gilbert wrote: > * Zhang Chen (zhangc...@gmail.com) wrote: > > On Sat, Jul 28, 2018 at 2:51 AM, Dr. David Alan Gilbert < > dgilb...@redhat.com > > > wrote: > > > > > * Zhang Chen (zhangc...@gmail.com) wrote: >

<    4   5   6   7   8   9   10   11   12   13   >