On Mon, 2021-11-29 at 21:38 +0800, Zhenguo Yao wrote: > 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) { Tested, works fine. Thanks! Tested-by: Maxim Levitsky <mlevitsk@xxxxxxxxxx> Best regards, Maxim Levitsky