diff options
| author | Fam Zheng <famz@redhat.com> | 2016-03-01 14:18:24 +0800 |
|---|---|---|
| committer | Paolo Bonzini <pbonzini@redhat.com> | 2016-03-07 13:26:37 +0100 |
| commit | 729633c2bc30496073431584eb6e304776b4ebd4 (patch) | |
| tree | a6147327b26ce18f8aa80b5e50093896a68f2ac7 /scripts/dump-guest-memory.py | |
| parent | 29cb533d8cbff1330717619780c2f1dfe764e003 (diff) | |
| download | focaccia-qemu-729633c2bc30496073431584eb6e304776b4ebd4.tar.gz focaccia-qemu-729633c2bc30496073431584eb6e304776b4ebd4.zip | |
exec: Introduce AddressSpaceDispatch.mru_section
Under heavy workloads the lookup will likely end up with the same MemoryRegionSection from last time. Using a pointer to cache the result, like ram_list.mru_block, significantly reduces cost of address_space_translate. During address space topology update, as->dispatch will be reallocated so the pointer is invalidated automatically. Perf reports a visible drop on the cpu usage, because phys_page_find is not called. Before: 2.35% qemu-system-x86_64 [.] phys_page_find 0.97% qemu-system-x86_64 [.] address_space_translate_internal 0.95% qemu-system-x86_64 [.] address_space_translate 0.55% qemu-system-x86_64 [.] address_space_lookup_region After: 0.97% qemu-system-x86_64 [.] address_space_translate_internal 0.97% qemu-system-x86_64 [.] address_space_lookup_region 0.84% qemu-system-x86_64 [.] address_space_translate Signed-off-by: Fam Zheng <famz@redhat.com> Message-Id: <1456813104-25902-8-git-send-email-famz@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'scripts/dump-guest-memory.py')
0 files changed, 0 insertions, 0 deletions