[Qemu-devel] [PATCH COLO-Frame v18 24/34] COLO: Update the global runstate after going into colo state

2016-08-03 Thread zhanghailiang
If we start qemu with -S, the runstate will change from 'prelaunch' to 'running' after going into colo state. So it is necessary to update the global runstate after going into colo state. Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Signed-off-by: Li Zhijian &

[Qemu-devel] [PATCH COLO-Frame v18 18/34] COLO: Implement failover work for Primary VM

2016-08-03 Thread zhanghailiang
For PVM, if there is failover request from users. The COLO thread will exit the loop while the failover BH does the cleanup work and resumes VM. Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Signed-off-by: Li Zhijian <lizhij...@cn.fujitsu.com> Reviewed-by: Dr. David

[Qemu-devel] [PATCH COLO-Frame v18 19/34] COLO: Implement failover work for Secondary VM

2016-08-03 Thread zhanghailiang
If users require SVM to takeover work, colo incoming thread should exit from loop while failover BH helps backing to migration incoming coroutine. Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Signed-off-by: Li Zhijian <lizhij...@cn.fujitsu.com> Reviewed-by: Dr. David

[Qemu-devel] [PATCH COLO-Frame v18 14/34] COLO: Add checkpoint-delay parameter for migrate-set-parameters

2016-08-03 Thread zhanghailiang
Add checkpoint-delay parameter for migrate-set-parameters, so that we can control the checkpoint frequency when COLO is in periodic mode. Cc: Luiz Capitulino <lcapitul...@redhat.com> Cc: Eric Blake <ebl...@redhat.com> Cc: Markus Armbruster <arm...@redhat.com> Signed-off

[Qemu-devel] [PATCH COLO-Frame v18 13/34] COLO: Flush PVM's cached RAM into SVM's memory

2016-08-03 Thread zhanghailiang
cache into SVM's MEMORY, we do this in a more efficient way: Only flush any page that dirtied by PVM since last checkpoint. In this way, we can ensure SVM's memory same with PVM's. Besides, we must ensure flush RAM cache before load device state. Signed-off-by: zhanghailiang <zhang.zhangha

[Qemu-devel] [PATCH COLO-Frame v18 22/34] COLO failover: Don't do failover during loading VM's state

2016-08-03 Thread zhanghailiang
We should not do failover work while the main thread is loading VM's state. Otherwise it will destroy the consistent of VM's memory and device state. Here we add a new failover status 'RELAUNCH' which means we should relaunch the process of failover. Signed-off-by: zhanghailiang

[Qemu-devel] [PATCH COLO-Frame v18 08/34] COLO: Add a new RunState RUN_STATE_COLO

2016-08-03 Thread zhanghailiang
Guest will enter this state when paused to save/restore VM state under colo checkpoint. Cc: Eric Blake <ebl...@redhat.com> Cc: Markus Armbruster <arm...@redhat.com> Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Signed-off-by: Li Zhijian <lizhij...@cn.fu

[Qemu-devel] [PATCH COLO-Frame v18 01/34] configure: Add parameter for configure to enable/disable COLO support

2016-08-03 Thread zhanghailiang
configure --enable-colo/--disable-colo to switch COLO support on/off. COLO support is On by default. Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Signed-off-by: Li Zhijian <lizhij...@cn.fujitsu.com> Signed-off-by: Gonglei <arei.gong...@huawei.com> Reviewed-

[Qemu-devel] [PATCH COLO-Frame v18 07/34] COLO: Implement COLO checkpoint protocol

2016-08-03 Thread zhanghailiang
sync-point should be added. 3) Since sync-points are single direction, the remote side may go forward a lot when this side just receives the sync-point. 4) For now, we only support 'periodic' checkpoint, for which the Secondary VM is not running, later we will support 'hybrid' mode. Signed-off

[Qemu-devel] [RFC PATCH 2/2] migration: Allow -incoming to work on file: urls

2016-07-20 Thread zhanghailiang
Usage: -incoming file:/path/to/vm_statefile Besides, use qemu_strtol() instead of strtol(). Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Signed-off-by: Benoit Canet <benoit.ca...@gmail.com> --- include/migration/migration.h | 2 ++ migration/fd.c

[Qemu-devel] [RFC PATCH 0/2] Migration: support working on file:url

2016-07-20 Thread zhanghailiang
It is more simple to use file:url to migrate VM into file. Besides, it will be used in memory snapshot. Test: 1) migrate VM state into file: migrate file:url 2) Restore VM from the file: qemu-system-x86_64 xxx --incoming file:url zhanghailiang (2): migration: Allow the migrate command

[Qemu-devel] [RFC PATCH 1/2] migration: Allow the migrate command to work on file:urls

2016-07-20 Thread zhanghailiang
Usage: (qemu) migrate file:/path/to/vm_statefile Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Signed-off-by: Benoit Canet <benoit.ca...@gmail.com> --- include/migration/migration.h | 2 ++ migration/fd.c| 34 -

[Qemu-devel] [PATCH COLO-Frame v17 34/34] COLO: Add block replication into colo process

2016-06-03 Thread zhanghailiang
Make sure master start block replication after slave's block replication started. Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Signed-off-by: Wen Congyang <we...@cn.fujitsu.com> Signed-off-by: Li Zhijian <lizhij...@cn.fujitsu.com> Cc: Stefan Hajnoczi <st

[Qemu-devel] [PATCH COLO-Frame v17 26/34] migration/savevm: Add new helpers to process the different stages of loadvm

2016-06-03 Thread zhanghailiang
, we make qemu_loadvm_state_main() API public. Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Signed-off-by: Li Zhijian <lizhij...@cn.fujitsu.com> Reviewed-by: Dr. David Alan Gilbert <dgilb...@redhat.com> --- v16: - Add Reviewed-by v14: - Split from patch 'COLO: Se

[Qemu-devel] [PATCH COLO-Frame v17 23/34] COLO: Process shutdown command for VM in COLO state

2016-06-03 Thread zhanghailiang
ed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Signed-off-by: Li Zhijian <lizhij...@cn.fujitsu.com> Reviewed-by: Dr. David Alan Gilbert <dgilb...@redhat.com> --- v15: - Go on the shutdown process even some error happened while sent 'SHUTDOWN' message to SVM. - Add Revie

[Qemu-devel] [PATCH COLO-Frame v17 33/34] COLO: Control the status of buffer filters for PVM

2016-06-03 Thread zhanghailiang
Enable all buffer filters that added by COLO while go into COLO process, and disable them while exit COLO. Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Cc: Jason Wang <jasow...@redhat.com> Cc: Yang Hongyang <hongyang.y...@easystack.cn> --- v16: - Stop buffer

[Qemu-devel] [PATCH COLO-Frame v17 17/34] COLO failover: Introduce state to record failover process

2016-06-03 Thread zhanghailiang
and set the value. Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Reviewed-by: Dr. David Alan Gilbert <dgilb...@redhat.com> --- v11: - fix several typos found by Dave - Add Reviewed-by tag --- include/migration/failover.h | 10 ++ migration/colo-failov

[Qemu-devel] [PATCH COLO-Frame v17 30/34] filter-buffer: Accept zero interval

2016-06-03 Thread zhanghailiang
We may want to accept zero interval when VM FT solutions like MC or COLO use this filter to release packets on demand. Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Reviewed-by: Yang Hongyang <hongyang.y...@easystack.cn> Cc: Jason Wang <jasow...@redhat.com>

[Qemu-devel] [PATCH COLO-Frame v17 24/34] COLO: Update the global runstate after going into colo state

2016-06-03 Thread zhanghailiang
If we start qemu with -S, the runstate will change from 'prelaunch' to 'running' after going into colo state. So it is necessary to update the global runstate after going into colo state. Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Signed-off-by: Li Zhijian &

[Qemu-devel] [PATCH COLO-Frame v17 16/34] COLO failover: Introduce a new command to trigger a failover

2016-06-03 Thread zhanghailiang
m...@redhat.com> Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Signed-off-by: Li Zhijian <lizhij...@cn.fujitsu.com> Reviewed-by: Dr. David Alan Gilbert <dgilb...@redhat.com> --- v16: - Fix compile broken due to missing osdep.h v13: - Add Reviewed-by tag v11:

[Qemu-devel] [PATCH COLO-Frame v17 05/34] migration: Integrate COLO checkpoint process into loadvm

2016-06-03 Thread zhanghailiang
the original migration incoming coroutine. Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Signed-off-by: Li Zhijian <lizhij...@cn.fujitsu.com> Reviewed-by: Dr. David Alan Gilbert <dgilb...@redhat.com> --- v12: - Add Reviewed-by tag v11: - We moved the place of bdrv_in

[Qemu-devel] [PATCH COLO-Frame v17 29/34] COLO: Split qemu_savevm_state_begin out of checkpoint process

2016-06-03 Thread zhanghailiang
these data transferring in the subsequent checkpoint. Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Signed-off-by: Li Zhijian <lizhij...@cn.fujitsu.com> Reviewed-by: Dr. David Alan Gilbert <dgilb...@redhat.com> --- v13: - Fix some minor issues found by Dave - A

[Qemu-devel] [PATCH COLO-Frame v17 19/34] COLO: Implement failover work for Secondary VM

2016-06-03 Thread zhanghailiang
If users require SVM to takeover work, colo incoming thread should exit from loop while failover BH helps backing to migration incoming coroutine. Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Signed-off-by: Li Zhijian <lizhij...@cn.fujitsu.com> Reviewed-by: Dr. David

[Qemu-devel] [PATCH COLO-Frame v17 31/34] net: Add notifier/callback for netdev init

2016-06-03 Thread zhanghailiang
We can register some callback for this notifier, this will be used by COLO to register a callback which will add each netdev a buffer filter. Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Cc: Jason Wang <jasow...@redhat.com> Cc: Yang Hongyang <hongyang.y...@easyst

[Qemu-devel] [PATCH COLO-Frame v17 03/34] COLO: migrate colo related info to secondary node

2016-06-03 Thread zhanghailiang
/destination; Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Signed-off-by: Li Zhijian <lizhij...@cn.fujitsu.com> Signed-off-by: Gonglei <arei.gong...@huawei.com> Reviewed-by: Dr. David Alan Gilbert <dgilb...@redhat.com> --- v16: - Fix compile broken du

[Qemu-devel] [PATCH COLO-Frame v17 22/34] COLO failover: Don't do failover during loading VM's state

2016-06-03 Thread zhanghailiang
We should not do failover work while the main thread is loading VM's state. Otherwise it will destroy the consistent of VM's memory and device state. Here we add a new failover status 'RELAUNCH' which means we should relaunch the process of failover. Signed-off-by: zhanghailiang

[Qemu-devel] [PATCH COLO-Frame v17 28/34] COLO: Separate the process of saving/loading ram and device state

2016-06-03 Thread zhanghailiang
was used during checkpoint. Besides, we move the colo_flush_ram_cache to the proper position after the above change. Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Signed-off-by: Li Zhijian <lizhij...@cn.fujitsu.com> Reviewed-by: Dr. David Alan Gilbert <dgilb...@redh

[Qemu-devel] [PATCH COLO-Frame v17 21/34] COLO failover: Shutdown related socket fd when do failover

2016-06-03 Thread zhanghailiang
operation in failover BH. Besides, we should close the corresponding file descriptors after failvoer BH shutdown them, or there will be an error. Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Signed-off-by: Li Zhijian <lizhij...@cn.fujitsu.com> Reviewed-by: Dr. David

[Qemu-devel] [PATCH COLO-Frame v17 18/34] COLO: Implement failover work for Primary VM

2016-06-03 Thread zhanghailiang
For PVM, if there is failover request from users. The COLO thread will exit the loop while the failover BH does the cleanup work and resumes VM. Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Signed-off-by: Li Zhijian <lizhij...@cn.fujitsu.com> Reviewed-by: Dr. David

[Qemu-devel] [PATCH COLO-Frame v17 14/34] COLO: Add checkpoint-delay parameter for migrate-set-parameters

2016-06-03 Thread zhanghailiang
Add checkpoint-delay parameter for migrate-set-parameters, so that we can control the checkpoint frequency when COLO is in periodic mode. Cc: Luiz Capitulino <lcapitul...@redhat.com> Cc: Eric Blake <ebl...@redhat.com> Cc: Markus Armbruster <arm...@redhat.com> Signed-off

[Qemu-devel] [PATCH COLO-Frame v17 27/34] migration/savevm: Export two helper functions for savevm process

2016-06-03 Thread zhanghailiang
We add a new helper functions qemu_savevm_live_state(), and make qemu_save_device_state() public. Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Signed-off-by: Li Zhijian <lizhij...@cn.fujitsu.com> Reviewed-by: Dr. David Alan Gilbert <dgilb...@redhat.com> ---

[Qemu-devel] [PATCH COLO-Frame v17 11/34] ram/COLO: Record the dirty pages that SVM received

2016-06-03 Thread zhanghailiang
We record the address of the dirty pages that received, it will help flushing pages that cached into SVM. We record them by re-using migration dirty bitmap. Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Reviewed-by: Dr. David Alan Gilbert <dgilb...@redhat.com> --

[Qemu-devel] [PATCH COLO-Frame v17 32/34] COLO/filter: Add each netdev a buffer filter

2016-06-03 Thread zhanghailiang
enable COLO while configure qemu, these buffer-filters will not be added. Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Cc: Jason Wang <jasow...@redhat.com> Cc: Yang Hongyang <hongyang.y...@easystack.cn> --- v16: - Remove the useless check in colo_add_buffer_fi

[Qemu-devel] [PATCH COLO-Frame v17 12/34] COLO: Load VMState into buffer before restore it

2016-06-03 Thread zhanghailiang
load VM state, which can ensure the data is intact. Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Signed-off-by: Li Zhijian <lizhij...@cn.fujitsu.com> Signed-off-by: Gonglei <arei.gong...@huawei.com> Reviewed-by: Dr. David Alan Gilbert <dgilb...@redhat.com> Cc

[Qemu-devel] [PATCH COLO-Frame v17 08/34] COLO: Add a new RunState RUN_STATE_COLO

2016-06-03 Thread zhanghailiang
Guest will enter this state when paused to save/restore VM state under colo checkpoint. Cc: Eric Blake <ebl...@redhat.com> Cc: Markus Armbruster <arm...@redhat.com> Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Signed-off-by: Li Zhijian <lizhij...@cn.fu

[Qemu-devel] [PATCH COLO-Frame v17 10/34] COLO: Load PVM's dirty pages into SVM's RAM cache temporarily

2016-06-03 Thread zhanghailiang
-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Signed-off-by: Li Zhijian <lizhij...@cn.fujitsu.com> Signed-off-by: Gonglei <arei.gong...@huawei.com> Reviewed-by: Dr. David Alan Gilbert <dgilb...@redhat.com> --- v12: - Fix minor error in error_report (Dave's comment) - Add Revie

[Qemu-devel] [PATCH COLO-Frame v17 20/34] qmp event: Add COLO_EXIT event to notify users while exited from COLO

2016-06-03 Thread zhanghailiang
that we exited COLO mode. Cc: Markus Armbruster <arm...@redhat.com> Cc: Michael Roth <mdr...@linux.vnet.ibm.com> Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Signed-off-by: Li Zhijian <lizhij...@cn.fujitsu.com> Reviewed-by: Eric Blake <ebl...@redhat.com

[Qemu-devel] [PATCH COLO-Frame v17 15/34] COLO: Synchronize PVM's state to SVM periodically

2016-06-03 Thread zhanghailiang
Do checkpoint periodically, the default interval is 200ms. Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Signed-off-by: Li Zhijian <lizhij...@cn.fujitsu.com> Reviewed-by: Dr. David Alan Gilbert <dgilb...@redhat.com> --- v12: - Add Reviewed-by tag v11: - Fi

[Qemu-devel] [PATCH COLO-Frame v17 13/34] COLO: Flush PVM's cached RAM into SVM's memory

2016-06-03 Thread zhanghailiang
cache into SVM's MEMORY, we do this in a more efficient way: Only flush any page that dirtied by PVM since last checkpoint. In this way, we can ensure SVM's memory same with PVM's. Besides, we must ensure flush RAM cache before load device state. Signed-off-by: zhanghailiang <zhang.zhangha

[Qemu-devel] [PATCH COLO-Frame v17 07/34] COLO: Implement COLO checkpoint protocol

2016-06-03 Thread zhanghailiang
sync-point should be added. 3) Since sync-points are single direction, the remote side may go forward a lot when this side just receives the sync-point. 4) For now, we only support 'periodic' checkpoint, for which the Secondary VM is not running, later we will support 'hybrid' mode. Signed-off

[Qemu-devel] [PATCH COLO-Frame v17 25/34] savevm: Introduce two helper functions for save/find loadvm_handlers entry

2016-06-03 Thread zhanghailiang
leak. We need to check if we have the section info in loadvm_handlers list before save it. For normal migration, it is harmless. Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Reviewed-by: Dr. David Alan Gilbert <dgilb...@redhat.com> --- v14: - Add Reviewed-by tag - v13:

[Qemu-devel] [PATCH COLO-Frame v17 09/34] COLO: Save PVM state to secondary side when do checkpoint

2016-06-03 Thread zhanghailiang
of VM state, so in master, we use qsb to store VM state temporarily, get the data size by call qsb_get_length() and then migrate the data to the qsb in the secondary side. Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Signed-off-by: Gonglei <arei.gong...@huawei.com>

[Qemu-devel] [PATCH COLO-Frame v17 00/34] COarse-grain LOck-stepping(COLO) Virtual Machines for Non-stop Service (FT)

2016-06-03 Thread zhanghailiang
y leak bug for colo incoming loop. (new patch 31) - Re-use some existed helper functions to realize the process of saving/loading ram and device. (patch 32) - Fix some other comments from Dave and Markus. zhanghailiang (34): configure: Add parameter for configure to enable/disable COLO s

[Qemu-devel] [PATCH COLO-Frame v17 02/34] migration: Introduce capability 'x-colo' to migration

2016-06-03 Thread zhanghailiang
: Juan Quintela <quint...@redhat.com> Cc: Amit Shah <amit.s...@redhat.com> Cc: Eric Blake <ebl...@redhat.com> Cc: Markus Armbruster <arm...@redhat.com> Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Signed-off-by: Li Zhijian <lizhij...@cn.fujitsu.com&g

[Qemu-devel] [PATCH COLO-Frame v17 04/34] migration: Integrate COLO checkpoint process into migration

2016-06-03 Thread zhanghailiang
Add a migrate state: MIGRATION_STATUS_COLO, enter this migration state after the first live migration successfully finished. We reuse migration thread, so if colo is enabled by user, migration thread will go into the process of colo. Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.

[Qemu-devel] [PATCH COLO-Frame v17 01/34] configure: Add parameter for configure to enable/disable COLO support

2016-06-03 Thread zhanghailiang
configure --enable-colo/--disable-colo to switch COLO support on/off. COLO support is On by default. Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Signed-off-by: Li Zhijian <lizhij...@cn.fujitsu.com> Signed-off-by: Gonglei <arei.gong...@huawei.com> Reviewed-

[Qemu-devel] [PATCH COLO-Frame v17 06/34] COLO/migration: Create a new communication path from destination to source

2016-06-03 Thread zhanghailiang
This new communication path will be used for returning messages from destination to source. Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Signed-off-by: Li Zhijian <lizhij...@cn.fujitsu.com> Reviewed-by: Dr. David Alan Gilbert <dgilb...@redhat.com> --- v13: - Re

[Qemu-devel] [PATCH COLO-Frame v16 22/35] COLO failover: Shutdown related socket fd when do failover

2016-04-08 Thread zhanghailiang
operation in failover BH. Besides, we should close the corresponding file descriptors after failvoer BH shutdown them, or there will be an error. Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Signed-off-by: Li Zhijian <lizhij...@cn.fujitsu.com> Reviewed-by: Dr. David Alan Gi

[Qemu-devel] [PATCH COLO-Frame v16 29/35] COLO: Separate the process of saving/loading ram and device state

2016-04-08 Thread zhanghailiang
during checkpoint. Besides, we move the colo_flush_ram_cache to the proper position after the above change. Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Signed-off-by: Li Zhijian <lizhij...@cn.fujitsu.com> Reviewed-by: Dr. David Alan Gilbert <dgilb...@redhat.com&

[Qemu-devel] [PATCH COLO-Frame v16 32/35] net: Add notifier/callback for netdev init

2016-04-08 Thread zhanghailiang
We can register some callback for this notifier, this will be used by COLO to register a callback which will add each netdev a buffer filter. Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Cc: Jason Wang <jasow...@redhat.com> Cc: Yang Hongyang <hongyang.y...@easyst

[Qemu-devel] [PATCH COLO-Frame v16 35/35] COLO: Add block replication into colo process

2016-04-08 Thread zhanghailiang
Make sure master start block replication after slave's block replication started. Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Signed-off-by: Wen Congyang <we...@cn.fujitsu.com> Signed-off-by: Li Zhijian <lizhij...@cn.fujitsu.com> Cc: Stefan Hajnoczi <st

[Qemu-devel] [PATCH COLO-Frame v16 21/35] qmp event: Add COLO_EXIT event to notify users while exited from COLO

2016-04-08 Thread zhanghailiang
that we exited COLO mode. Cc: Markus Armbruster <arm...@redhat.com> Cc: Michael Roth <mdr...@linux.vnet.ibm.com> Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Signed-off-by: Li Zhijian <lizhij...@cn.fujitsu.com> --- v13: - Remove optional 'error' string for

[Qemu-devel] [PATCH COLO-Frame v16 34/35] COLO: manage the status of buffer filters for PVM

2016-04-08 Thread zhanghailiang
Enable all buffer filters that added by COLO while go into COLO process, and disable them while exit COLO. Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Cc: Jason Wang <jasow...@redhat.com> Cc: Yang Hongyang <hongyang.y...@easystack.cn> --- v16: - Stop buffer

[Qemu-devel] [PATCH COLO-Frame v16 23/35] COLO failover: Don't do failover during loading VM's state

2016-04-08 Thread zhanghailiang
We should not do failover work while the main thread is loading VM's state, otherwise it will destroy the consistent of VM's memory and device state. Here we add a new failover status 'RELAUNCH' which means we should relaunch the process of failover. Signed-off-by: zhanghailiang

[Qemu-devel] [PATCH COLO-Frame v16 28/35] migration/savevm: Export two helper functions for savevm process

2016-04-08 Thread zhanghailiang
We add a new helper functions qemu_savevm_live_state(), and make qemu_save_device_state() public. Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Signed-off-by: Li Zhijian <lizhij...@cn.fujitsu.com> Reviewed-by: Dr. David Alan Gilbert <dgilb...@redhat.com> ---

[Qemu-devel] [PATCH COLO-Frame v16 33/35] COLO/filter: add each netdev a buffer filter

2016-04-08 Thread zhanghailiang
don't enable COLO while configure qemu, these buffer-filters will not be added. Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Cc: Jason Wang <jasow...@redhat.com> Cc: Yang Hongyang <hongyang.y...@easystack.cn> --- v16: - Remove the useless check in colo_add_buffer_fi

[Qemu-devel] [PATCH COLO-Frame v16 24/35] COLO: Process shutdown command for VM in COLO state

2016-04-08 Thread zhanghailiang
ed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Signed-off-by: Li Zhijian <lizhij...@cn.fujitsu.com> Reviewed-by: Dr. David Alan Gilbert <dgilb...@redhat.com> --- v15: - Go on the shutdown process even some error happened while sent 'SHUTDOWN' message to SVM. - Add Revie

[Qemu-devel] [PATCH COLO-Frame v16 31/35] filter-buffer: Accept zero interval

2016-04-08 Thread zhanghailiang
We may want to accept zero interval when VM FT solutions like MC or COLO use this filter to release packets on demand. Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Reviewed-by: Yang Hongyang <hongyang.y...@easystack.cn> Cc: Jason Wang <jasow...@redhat.com>

[Qemu-devel] [PATCH COLO-Frame v16 18/35] COLO failover: Introduce state to record failover process

2016-04-08 Thread zhanghailiang
and set the value. Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Reviewed-by: Dr. David Alan Gilbert <dgilb...@redhat.com> --- v11: - fix several typos found by Dave - Add Reviewed-by tag --- include/migration/failover.h | 10 ++ migration/colo-failov

[Qemu-devel] [PATCH COLO-Frame v16 11/35] COLO: Load PVM's dirty pages into SVM's RAM cache temporarily

2016-04-08 Thread zhanghailiang
-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Signed-off-by: Li Zhijian <lizhij...@cn.fujitsu.com> Signed-off-by: Gonglei <arei.gong...@huawei.com> Reviewed-by: Dr. David Alan Gilbert <dgilb...@redhat.com> --- v12: - Fix minor error in error_report (Dave's comment) - Add Revie

[Qemu-devel] [PATCH COLO-Frame v16 15/35] COLO: Add checkpoint-delay parameter for migrate-set-parameters

2016-04-08 Thread zhanghailiang
Add checkpoint-delay parameter for migrate-set-parameters, so that we can control the checkpoint frequency when COLO is in periodic mode. Cc: Luiz Capitulino <lcapitul...@redhat.com> Cc: Eric Blake <ebl...@redhat.com> Cc: Markus Armbruster <arm...@redhat.com> Signed-off

[Qemu-devel] [PATCH COLO-Frame v16 27/35] migration/savevm: Add new helpers to process the different stages of loadvm

2016-04-08 Thread zhanghailiang
, we make qemu_loadvm_state_main() API public. Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Signed-off-by: Li Zhijian <lizhij...@cn.fujitsu.com> Reviewed-by: Dr. David Alan Gilbert <dgilb...@redhat.com> --- v16: - Add Reviewed-by v14: - Split from patch 'COLO: Se

[Qemu-devel] [PATCH COLO-Frame v16 26/35] savevm: Introduce two helper functions for save/find loadvm_handlers entry

2016-04-08 Thread zhanghailiang
leak. We need to check if we have the section info in loadvm_handlers list before save it. For normal migration, it is harmless. Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Reviewed-by: Dr. David Alan Gilbert <dgilb...@redhat.com> --- v14: - Add Reviewed-by tag - v13:

[Qemu-devel] [PATCH COLO-Frame v16 30/35] COLO: Split qemu_savevm_state_begin out of checkpoint process

2016-04-08 Thread zhanghailiang
these data transferring in the later checkpoint. Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Signed-off-by: Li Zhijian <lizhij...@cn.fujitsu.com> Reviewed-by: Dr. David Alan Gilbert <dgilb...@redhat.com> --- v13: - Fix some minor issues found by Dave - A

[Qemu-devel] [PATCH COLO-Frame v16 14/35] COLO: Flush PVM's cached RAM into SVM's memory

2016-04-08 Thread zhanghailiang
cache into SVM's MEMORY, we do this in a more efficient way: Only flush any page that dirtied by PVM since last checkpoint. In this way, we can ensure SVM's memory same with PVM's. Besides, we must ensure flush RAM cache before load device state. Signed-off-by: zhanghailiang <zhang.zhangha

[Qemu-devel] [PATCH COLO-Frame v16 20/35] COLO: Implement failover work for Secondary VM

2016-04-08 Thread zhanghailiang
If users require SVM to takeover work, colo incoming thread should exit from loop while failover BH helps backing to migration incoming coroutine. Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Signed-off-by: Li Zhijian <lizhij...@cn.fujitsu.com> Reviewed-by: Dr. David

[Qemu-devel] [PATCH COLO-Frame v16 25/35] COLO: Update the global runstate after going into colo state

2016-04-08 Thread zhanghailiang
If we start qemu with -S, the runstate will change from 'prelaunch' to 'running' after going into colo state. So it is necessary to update the global runstate after going into colo state. Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Signed-off-by: Li Zhijian &

[Qemu-devel] [PATCH COLO-Frame v16 16/35] COLO: synchronize PVM's state to SVM periodically

2016-04-08 Thread zhanghailiang
Do checkpoint periodically, the default interval is 200ms. Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Signed-off-by: Li Zhijian <lizhij...@cn.fujitsu.com> Reviewed-by: Dr. David Alan Gilbert <dgilb...@redhat.com> --- v12: - Add Reviewed-by tag v11: - Fi

[Qemu-devel] [PATCH COLO-Frame v16 10/35] COLO: Save PVM state to secondary side when do checkpoint

2016-04-08 Thread zhanghailiang
state, so in master, we use qsb to store VM state temporarily, get the data size by call qsb_get_length() and then migrate the data to the qsb in the secondary side. Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Signed-off-by: Gonglei <arei.gong...@huawei.com> Signe

[Qemu-devel] [PATCH COLO-Frame v16 19/35] COLO: Implement failover work for Primary VM

2016-04-08 Thread zhanghailiang
For PVM, if there is failover request from users. The colo thread will exit the loop while the failover BH does the cleanup work and resumes VM. Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Signed-off-by: Li Zhijian <lizhij...@cn.fujitsu.com> Reviewed-by: Dr. David

[Qemu-devel] [PATCH COLO-Frame v16 13/35] COLO: Load VMState into qsb before restore it

2016-04-08 Thread zhanghailiang
load VM state, which can ensure the data is intact. Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Signed-off-by: Li Zhijian <lizhij...@cn.fujitsu.com> Signed-off-by: Gonglei <arei.gong...@huawei.com> Reviewed-by: Dr. David Alan Gilbert <dgilb...@redhat.com> Cc

[Qemu-devel] [PATCH COLO-Frame v16 04/35] migration: Integrate COLO checkpoint process into migration

2016-04-08 Thread zhanghailiang
Add a migrate state: MIGRATION_STATUS_COLO, enter this migration state after the first live migration successfully finished. We reuse migration thread, so if colo is enabled by user, migration thread will go into the process of colo. Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.

[Qemu-devel] [PATCH COLO-Frame v16 12/35] ram/COLO: Record the dirty pages that SVM received

2016-04-08 Thread zhanghailiang
We record the address of the dirty pages that received, it will help flushing pages that cached into SVM. We record them by re-using migration dirty bitmap. Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Reviewed-by: Dr. David Alan Gilbert <dgilb...@redhat.com> --

[Qemu-devel] [PATCH COLO-Frame v16 01/35] configure: Add parameter for configure to enable/disable COLO support

2016-04-08 Thread zhanghailiang
configure --enable-colo/--disable-colo to switch COLO support on/off. COLO support is On by default. Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Signed-off-by: Li Zhijian <lizhij...@cn.fujitsu.com> Signed-off-by: Gonglei <arei.gong...@huawei.com> Reviewed-

[Qemu-devel] [PATCH COLO-Frame v16 09/35] QEMUSizedBuffer: Introduce two help functions for qsb

2016-04-08 Thread zhanghailiang
into qsb, this is used to get VM state from socket into a buffer. Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Signed-off-by: Li Zhijian <lizhij...@cn.fujitsu.com> Reviewed-by: Dr. David Alan Gilbert <dgilb...@redhat.com> --- v11: - size_t'ify these two help

[Qemu-devel] [PATCH COLO-Frame v16 08/35] COLO: Add a new RunState RUN_STATE_COLO

2016-04-08 Thread zhanghailiang
Guest will enter this state when paused to save/restore VM state under colo checkpoint. Cc: Eric Blake <ebl...@redhat.com> Cc: Markus Armbruster <arm...@redhat.com> Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Signed-off-by: Li Zhijian <lizhij...@cn.fu

[Qemu-devel] [PATCH COLO-Frame v16 07/35] COLO: Implement colo checkpoint protocol

2016-04-08 Thread zhanghailiang
sync-point should be added. 3) Since sync-points are single direction, the remote side may go forward a lot when this side just receives the sync-point. 4) For now, we only support 'periodic' checkpoint, for which the Secondary VM is not running, later we will support 'hybrid' mode. Signed-off

[Qemu-devel] [PATCH COLO-Frame v16 02/35] migration: Introduce capability 'x-colo' to migration

2016-04-08 Thread zhanghailiang
: Juan Quintela <quint...@redhat.com> Cc: Amit Shah <amit.s...@redhat.com> Cc: Eric Blake <ebl...@redhat.com> Cc: Markus Armbruster <arm...@redhat.com> Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Signed-off-by: Li Zhijian <lizhij...@cn.fujitsu.com&g

[Qemu-devel] [PATCH COLO-Frame v16 06/35] COLO/migration: Create a new communication path from destination to source

2016-04-08 Thread zhanghailiang
This new communication path will be used for returning messages from destination to source. Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Signed-off-by: Li Zhijian <lizhij...@cn.fujitsu.com> Reviewed-by: Dr. David Alan Gilbert <dgilb...@redhat.com> --- v13: - Re

[Qemu-devel] [PATCH COLO-Frame v16 17/35] COLO failover: Introduce a new command to trigger a failover

2016-04-08 Thread zhanghailiang
m...@redhat.com> Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Signed-off-by: Li Zhijian <lizhij...@cn.fujitsu.com> Reviewed-by: Dr. David Alan Gilbert <dgilb...@redhat.com> --- v16: - Fix compile broken due to missing osdep.h v13: - Add Reviewed-by tag v11:

[Qemu-devel] [PATCH COLO-Frame v16 03/35] COLO: migrate colo related info to secondary node

2016-04-08 Thread zhanghailiang
/destination; Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Signed-off-by: Li Zhijian <lizhij...@cn.fujitsu.com> Signed-off-by: Gonglei <arei.gong...@huawei.com> Reviewed-by: Dr. David Alan Gilbert <dgilb...@redhat.com> --- v16: - Fix compile broken du

[Qemu-devel] [PATCH COLO-Frame v16 05/35] migration: Integrate COLO checkpoint process into loadvm

2016-04-08 Thread zhanghailiang
the original migration incoming coroutine. Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Signed-off-by: Li Zhijian <lizhij...@cn.fujitsu.com> Reviewed-by: Dr. David Alan Gilbert <dgilb...@redhat.com> --- v12: - Add Reviewed-by tag v11: - We moved the place of bdrv_in

[Qemu-devel] [PATCH COLO-Frame v16 for-2.7 00/35] COarse-grain LOck-stepping(COLO) Virtual Machines for Non-stop Service (FT)

2016-04-08 Thread zhanghailiang
other comments from Dave and Markus. zhanghailiang (35): configure: Add parameter for configure to enable/disable COLO support migration: Introduce capability 'x-colo' to migration COLO: migrate colo related info to secondary node migration: Integrate COLO checkpoint process into mig

[Qemu-devel] [PATCH v2] filter-buffer: fix segfault when starting qemu with status=off property

2016-04-04 Thread zhanghailiang
ion. We shouldn't trigger status_changed() before the filter was initialized, We can check the value of 'nf->netdev' to confirm if the filter is initialized or not, so let's check its value before calling status_changed(). Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> --

[Qemu-devel] [PATCH] filter-buffer: fix segfault while start qemu with status=off property

2016-04-01 Thread zhanghailiang
before calling qemu_net_queue_flush(). Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> --- net/filter-buffer.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/filter-buffer.c b/net/filter-buffer.c index cc6bd94..79e2ce3 100644 --- a/net/filter-buffer.c +++

[Qemu-devel] [PATCH v3 2/2] filter-buffer: Add status_changed callback processing

2016-02-29 Thread zhanghailiang
in the new status_changed callback. Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Cc: Jason Wang <jasow...@redhat.com> Cc: Yang Hongyang <hongyang.y...@easystack.cn> --- v3: - Extract the process of setup timer into a new helper v2: - New patch --- net/fi

[Qemu-devel] [PATCH v3 1/2] filter: Add 'status' property for filter object

2016-02-29 Thread zhanghailiang
') filter when delivering packets in net layer. Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Cc: Jason Wang <jasow...@redhat.com> Cc: Yang Hongyang <hongyang.y...@easystack.cn> --- v3: - Use 'bool on' instead of member 'char *status' (Jason) v2: - Split the processin

[Qemu-devel] [PATCH v3 0/2] Introduce 'status' property for netfilter

2016-02-29 Thread zhanghailiang
zhanghailiang (2): filter: Add 'status' property for filter object filter-buffer: Add status_changed callback processing include/net/filter.h | 4 net/filter-buffer.c | 34 -- net/filter.c | 41 + qemu

[Qemu-devel] [PATCH v2 2/2] filter-buffer: Add status_changed callback processing

2016-02-28 Thread zhanghailiang
While the status of filter-buffer changing from 'on' to 'off', it need to release all the buffered packets, and delete the related timer, while switch from 'off' to 'on', it need to resume the release packets timer. Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Cc: Jaso

[Qemu-devel] [PATCH v2 0/2] Introduce 'status' property for netfilter

2016-02-28 Thread zhanghailiang
This is picked from COLO series, which is to realize the new 'status' property for filter. With this property, users can control if the filter is enabled or disabled. zhanghailiang (2): filter: Add 'status' property for filter object filter-buffer: Add status_changed callback processing

[Qemu-devel] [PATCH v2 1/2] filter: Add 'status' property for filter object

2016-02-28 Thread zhanghailiang
') filter when delivering packets in net layer. Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Cc: Jason Wang <jasow...@redhat.com> Cc: Yang Hongyang <hongyang.y...@easystack.cn> --- v2: - Split the processing of buffer-filter into a new patch (Jason) - Use 'status' i

[Qemu-devel] [PATCH] filter/fiter-buffer: Add a 'status' property for filter object

2016-02-24 Thread zhanghailiang
it with filter_buffer_flush(). The other types of filters can realize their own 'disable' callback. We will skip the disabled filter when delivering packets in net layer. Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Cc: Jason Wang <jasow...@redhat.com> Cc: Y

[Qemu-devel] [PATCH COLO-Frame v15 38/38] COLO: Add block replication into colo process

2016-02-21 Thread zhanghailiang
Make sure master start block replication after slave's block replication started. Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Signed-off-by: Wen Congyang <we...@cn.fujitsu.com> Signed-off-by: Li Zhijian <lizhij...@cn.fujitsu.com> Cc: Stefan Hajnoczi <st

[Qemu-devel] [PATCH COLO-Frame v15 36/38] filter-buffer: make filter_buffer_flush() public

2016-02-21 Thread zhanghailiang
We will use it in COLO to flush the buffered packets. Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Cc: Jason Wang <jasow...@redhat.com> Cc: Yang Hongyang <hongyang.y...@easystack.cn> --- v14: - New patch --- include/net/filter.h | 2 ++ net/filter-buffer.

[Qemu-devel] [PATCH COLO-Frame v15 13/38] COLO: Load VMState into qsb before restore it

2016-02-21 Thread zhanghailiang
load VM state, which can ensure the data is intact. Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Signed-off-by: Li Zhijian <lizhij...@cn.fujitsu.com> Signed-off-by: Gonglei <arei.gong...@huawei.com> Reviewed-by: Dr. David Alan Gilbert <dgilb...@redhat.com> Cc

[Qemu-devel] [PATCH COLO-Frame v15 27/38] migration/savevm: Add new helpers to process the different stages of loadvm

2016-02-21 Thread zhanghailiang
, we make qemu_loadvm_state_main() API public. Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Signed-off-by: Li Zhijian <lizhij...@cn.fujitsu.com> --- v14: - Split from patch 'COLO: Separate the process of saving/loading ram and device state --- include/sysemu/s

[Qemu-devel] [PATCH COLO-Frame v15 35/38] COLO: manage the status of buffer filters for PVM

2016-02-21 Thread zhanghailiang
Enable all buffer filters that added by COLO while go into COLO process, and disable them while exit COLO. Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Cc: Jason Wang <jasow...@redhat.com> Cc: Yang Hongyang <hongyang.y...@easystack.cn> --- v

[Qemu-devel] [PATCH COLO-Frame v15 28/38] migration/savevm: Export two helper functions for savevm process

2016-02-21 Thread zhanghailiang
We add a new helper functions qemu_savevm_live_state(), and make qemu_save_device_state() public. Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Signed-off-by: Li Zhijian <lizhij...@cn.fujitsu.com> --- v14: - New patch split from previous 'COLO: Separate the proce

[Qemu-devel] [PATCH COLO-Frame v15 16/38] COLO: synchronize PVM's state to SVM periodically

2016-02-21 Thread zhanghailiang
Do checkpoint periodically, the default interval is 200ms. Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Signed-off-by: Li Zhijian <lizhij...@cn.fujitsu.com> Reviewed-by: Dr. David Alan Gilbert <dgilb...@redhat.com> --- v12: - Add Reviewed-by tag v11: - Fi

[Qemu-devel] [PATCH COLO-Frame v15 21/38] qmp event: Add COLO_EXIT event to notify users while exited from COLO

2016-02-21 Thread zhanghailiang
that we exited COLO mode. Cc: Markus Armbruster <arm...@redhat.com> Cc: Michael Roth <mdr...@linux.vnet.ibm.com> Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> Signed-off-by: Li Zhijian <lizhij...@cn.fujitsu.com> --- v13: - Remove optional 'error' string for

<    1   2   3   4   5   6   7   8   9   10   >