qemu/migration
Kunkun Jiang ba1b7c812c migration/ram: Optimize ram_save_host_page()
Starting from pss->page, ram_save_host_page() will check every page
and send the dirty pages up to the end of the current host page or
the boundary of used_length of the block. If the host page size is
a huge page, the step "check" will take a lot of time.

It will improve performance to use migration_bitmap_find_dirty().

Tested on Kunpeng 920; VM parameters: 1U 4G (page size 1G)
The time of ram_save_host_page() in the last round of ram saving:
before optimize: 9250us		after optimize: 34us

Signed-off-by: Keqian Zhu <zhukeqian1@huawei.com>
Signed-off-by: Kunkun Jiang <jiangkunkun@huawei.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Message-Id: <20210316125716.1243-3-jiangkunkun@huawei.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
2021-05-13 18:21:13 +01:00
..
block-dirty-bitmap.c migration/block-dirty-bitmap: make incoming disabled bitmaps busy 2021-03-24 13:41:19 +00:00
block.c migration: using trace_ to replace DPRINTF 2020-10-26 16:15:04 +00:00
block.h
channel.c yank: Remove dependency on qiochannel 2021-04-01 15:27:44 +04:00
channel.h
colo-failover.c qemu/atomic.h: rename atomic_ to qatomic_ 2020-09-23 16:07:44 +01:00
colo.c Remove superfluous timer_del() calls 2021-01-08 15:13:38 +00:00
dirtyrate.c migration/dirtyrate: simplify includes in dirtyrate.c 2020-11-12 15:52:14 +00:00
dirtyrate.h migration/dirtyrate: Implement set_sample_page_period() and is_sample_period_valid() 2020-09-25 12:45:58 +01:00
exec.c
exec.h
fd.c monitor: Use getter/setter functions for cur_mon 2020-10-09 07:08:19 +02:00
fd.h
global_state.c migration: Silence compiler warning in global_state_store_running() 2020-10-02 12:28:48 +01:00
meson.build For 6.0 misc patches under my radar. 2021-04-01 17:08:48 +01:00
migration.c migration: Pre-fault memory before starting background snasphot 2021-04-07 18:37:28 +01:00
migration.h migration: Clean up signed vs. unsigned XBZRLE cache-size 2021-02-08 11:19:51 +00:00
multifd-zlib.c multifd: Add zlib compression multifd support 2020-02-28 09:24:43 +01:00
multifd-zstd.c multifd: Add zstd compression multifd support 2020-02-28 09:25:49 +01:00
multifd.c yank: Remove dependency on qiochannel 2021-04-01 15:27:44 +04:00
multifd.h migration/tls: add tls_hostname into MultiFDSendParams 2020-09-25 12:45:58 +01:00
page_cache.c migration: Fix cache_init()'s "Failed to allocate" error messages 2021-02-08 11:19:51 +00:00
page_cache.h migration: Clean up signed vs. unsigned XBZRLE cache-size 2021-02-08 11:19:51 +00:00
postcopy-ram.c qapi: Use QAPI_LIST_PREPEND() where possible 2020-12-19 10:20:14 +01:00
postcopy-ram.h migration/: fix some comment spelling errors 2020-09-17 20:36:32 +02:00
qemu-file-channel.c yank: Remove dependency on qiochannel 2021-04-01 15:27:44 +04:00
qemu-file-channel.h
qemu-file.c migration/qemu-file: Fix maybe uninitialized on qemu_get_buffer_in_place() 2021-02-08 11:19:51 +00:00
qemu-file.h
ram.c migration/ram: Optimize ram_save_host_page() 2021-05-13 18:21:13 +01:00
ram.h migration: Pre-fault memory before starting background snasphot 2021-04-07 18:37:28 +01:00
rdma.c migration: Delete redundant spaces 2020-10-26 16:15:04 +00:00
rdma.h
savevm.c migration: introduce snapshot-{save, load, delete} QMP commands 2021-02-08 11:19:52 +00:00
savevm.h migration: Add blocker information 2021-02-08 11:19:51 +00:00
socket.c migration: unify the framework of socket-type channel 2020-08-28 13:34:52 +01:00
socket.h migration: unify the framework of socket-type channel 2020-08-28 13:34:52 +01:00
tls.c migration: Fix Lesser GPL version number 2020-11-15 16:43:28 +01:00
tls.h migration: Fix Lesser GPL version number 2020-11-15 16:43:28 +01:00
trace-events migration: support UFFD write fault processing in ram_save_iterate() 2021-02-08 11:19:51 +00:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
vmstate-types.c migration: Replace migration's JSON writer by the general one 2020-12-19 10:39:16 +01:00
vmstate.c migration: Replace migration's JSON writer by the general one 2020-12-19 10:39:16 +01:00
xbzrle.c
xbzrle.h
yank_functions.c yank: Remove dependency on qiochannel 2021-04-01 15:27:44 +04:00
yank_functions.h yank: Remove dependency on qiochannel 2021-04-01 15:27:44 +04:00