qemu-e2k/migration
Zhang Chen e6f4aa188c COLO: Flush memory data from ram cache
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 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.zhanghailiang@huawei.com>
Signed-off-by: Li Zhijian <lizhijian@cn.fujitsu.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 migration/block: compare only read blocks against the rate limiter 2018-03-23 16:45:18 +00:00
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 Include less of the generated modular QAPI headers 2018-03-02 13:45:50 -06:00
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 migration: stop compression to allocate and free memory frequently 2018-04-25 18:04:06 +01:00
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: Flush memory data from ram cache 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 qio: non-default context for TLS handshake 2018-03-06 10:19:07 +00:00
tls.h
trace-events COLO: Flush memory data from ram cache 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