[RFC PATCH v1 0/4] hugetlb: parallelize hugetlb page allocation on boot

Gang Li
2023-11-23T13:36:46Z

From: Gang Li <ligang.bdlg@bytedance.com>

Inspired by these patches [1][2], this series aims to speed up the
initialization of hugetlb during the boot process through
parallelization.

It is particularly effective in large systems. On a machine equipped
with 1TB of memory and two NUMA nodes, the time for hugetlb
initialization was reduced from 2 seconds to 1 second.

In the future, as memory continues to grow, more and more time can
be saved.

This series currently focuses on optimizing 2MB hugetlb. Since
gigantic pages are few in number, their optimization effects
are not as pronounced. We may explore optimizations for
gigantic pages in the future.

Thanks,
Gang Li

Gang Li (4):
hugetlb: code clean for hugetlb_hstate_alloc_pages
hugetlb: split hugetlb_hstate_alloc_pages
hugetlb: add timing to hugetlb allocations on boot
hugetlb: parallelize hugetlb page allocation

mm/hugetlb.c | 191 ++++++++++++++++++++++++++++++++++++---------------
1 file changed, 134 insertions(+), 57 deletions(-)

--
2.20.1