Hi Satoru,
FYI... I had tried to use this change earlier and it did show some
improvements in perf. (due to reduced exits).
But as expected mlockall () on large sized guests adds a considerable
delay in boot time. For e.g. on an 8 socket Westmere box => a 256G guest
: took an additional ~2+ mins to boot and a 512G guest took an
additional ~5+ mins to boot. This is mainly due to long time spent in
trying to clear all the pages.
77.96% 35728 qemu-system-x86 [kernel.kallsyms] [k]
clear_page_c
|
--- clear_page_c
hugetlb_no_page
hugetlb_fault
follow_hugetlb_page
__get_user_pages
__mlock_vma_pages_range
__mm_populate
vm_mmap_pgoff
sys_mmap_pgoff
sys_mmap
system_call
__GI___mmap64
qemu_ram_alloc_from_ptr
qemu_ram_alloc
memory_region_init_ram
pc_memory_init
pc_init1
pc_init_pci
main
__libc_start_main
Need to have a faster way to clear pages.
Vinod