Preallocation of gigantic pages can't work bacause of commit:b5389086ad7b (hugetlbfs: extend the definition of hugepages parameter to support node allocation). When nid is NUMA_NO_NODE(-1), alloc_bootmem_huge_page will always return without doing allocation. Fix this by adding more check. Signed-off-by: Zhenguo Yao <yaozhenguo1@xxxxxxxxx> --- mm/hugetlb.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mm/hugetlb.c b/mm/hugetlb.c index 60f9b6a9582e..6d1603387914 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -2876,7 +2876,7 @@ int __alloc_bootmem_huge_page(struct hstate *h, int nid) struct huge_bootmem_page *m = NULL; /* initialize for clang */ int nr_nodes, node; - if (nid >= nr_online_nodes) + if (nid != NUMA_NO_NODE && nid >= nr_online_nodes) return 0; /* do node specific alloc */ if (nid != NUMA_NO_NODE) { -- 2.27.0