summary refs log tree commit diff stats
path: root/hw/core/numa.c
diff options
context:
space:
mode:
authorKunkun Jiang <jiangkunkun@huawei.com>2021-03-16 20:57:16 +0800
committerDr. David Alan Gilbert <dgilbert@redhat.com>2021-05-13 18:21:13 +0100
commitba1b7c812c1efa49f9c297b6a22c598ff0eb5a4b (patch)
tree2e2af203529ac74af5ca61cf7425943441b49cc2 /hw/core/numa.c
parent23feba906e42747463aa233fb54c58d7f02430c9 (diff)
downloadfocaccia-qemu-ba1b7c812c1efa49f9c297b6a22c598ff0eb5a4b.tar.gz
focaccia-qemu-ba1b7c812c1efa49f9c297b6a22c598ff0eb5a4b.zip
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>
Diffstat (limited to 'hw/core/numa.c')
0 files changed, 0 insertions, 0 deletions