Hi Vinod,

Thank you for your report.

(2013/04/22 14:16), Chegu Vinod wrote:
> 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. 

Yes, it is expected.

> 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.

Hmm, clear_page() just calls memset(page, 0, PAGE_SIZE)...
The patch has just merged today. I'll start to think of the issue above.

Regards,
Satoru





Reply via email to