qemu-e2k/migration
Zhang Chen 13af18f222 COLO: Load dirty pages into SVM's RAM cache firstly
We should not load PVM's state directly into SVM, because there maybe some
errors happen when SVM is receving data, which will break SVM.

We need to ensure receving all data before load the state into SVM. We use
an extra memory to cache these data (PVM's ram). The ram cache in secondary side
is initially the same as SVM/PVM's memory. And in the process of checkpoint,
we cache the dirty pages of PVM into this ram cache firstly, so this ram cache
always the same as PVM's memory at every checkpoint, then we flush this cached ram
to SVM after we receive all PVM's state.

Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com>
Signed-off-by: Li Zhijian <lizhijian@cn.fujitsu.com>
Signed-off-by: Zhang Chen <zhangckid@gmail.com>
Signed-off-by: Zhang Chen <chen.zhang@intel.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
2018-10-19 11:15:03 +08:00
..
block-dirty-bitmap.c dirty-bitmap: fix double lock on bitmap enabling 2018-07-04 02:12:49 -04:00
block.c
block.h
channel.c Migration+TLS: Fix crash due to double cleanup 2018-05-15 22:13:08 +02:00
channel.h
colo-failover.c
colo.c COLO: Remove colo_state migration struct 2018-10-19 11:15:03 +08:00
exec.c migration: unify incoming processing 2018-07-10 12:48:53 +01:00
exec.h
fd.c migration: unify incoming processing 2018-07-10 12:48:53 +01:00
fd.h
global_state.c
Makefile.objs COLO: Remove colo_state migration struct 2018-10-19 11:15:03 +08:00
migration.c COLO: Load dirty pages into SVM's RAM cache firstly 2018-10-19 11:15:03 +08:00
migration.h migration: do not wait for free thread 2018-08-22 12:34:11 +02:00
page_cache.c migration: use local path for local headers 2018-06-01 19:20:38 +03:00
page_cache.h
postcopy-ram.c migration: Stop postcopy fault thread before notifying 2018-10-11 19:58:26 +01:00
postcopy-ram.h postcopy: drop ram_pages parameter from postcopy_ram_incoming_init() 2018-06-27 13:28:31 +02:00
qemu-file-channel.c migration: invoke qio_channel_yield only when qemu_in_coroutine() 2018-08-22 12:13:59 +02:00
qemu-file-channel.h
qemu-file.c migration: disable RDMA WRITE after postcopy started 2018-08-22 12:12:07 +02:00
qemu-file.h
qjson.c qobject: Replace qobject_incref/QINCREF qobject_decref/QDECREF 2018-05-04 08:27:53 +02:00
qjson.h typedefs: add QJSON 2018-06-15 14:40:56 +01:00
ram.c COLO: Load dirty pages into SVM's RAM cache firstly 2018-10-19 11:15:03 +08:00
ram.h COLO: Load dirty pages into SVM's RAM cache firstly 2018-10-19 11:15:03 +08:00
rdma.c migration/rdma: Fix uninitialised rdma_return_path 2018-09-26 12:21:33 +01:00
rdma.h
savevm.c COLO: Load dirty pages into SVM's RAM cache firstly 2018-10-19 11:15:03 +08:00
savevm.h COLO: Remove colo_state migration struct 2018-10-19 11:15:03 +08:00
socket.c migration: unify incoming processing 2018-07-10 12:48:53 +01:00
socket.h migration: Export functions to create send channels 2018-05-15 20:24:27 +02:00
tls.c
tls.h
trace-events COLO: Remove colo_state migration struct 2018-10-19 11:15:03 +08:00
vmstate-types.c
vmstate.c migration: Correctly handle subsections with no 'needed' function 2018-08-22 11:40:47 +02:00
xbzrle.c
xbzrle.h