Message ID | 20211129133803.15653-1-yaozhenguo1@gmail.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | [BUG] hugetlbfs: Fix issue of preallocation of gigantic pages can't work | expand |
On 11/29/21 05:38, 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@gmail.com> Thank you, Reviewed-by: Mike Kravetz <mike.kravetz@oracle.com>
Hi, On 2021/11/29 21:38, 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@gmail.com> You should add a fixes tag, otherwise LGTM. Reviewed-by: Baolin Wang <baolin.wang@linux.alibaba.com> Fixes: b5389086ad7b ("hugetlbfs: extend the definition of hugepages parameter to support node allocation")
On Mon, Nov 29, 2021 at 11:27 PM Zhenguo Yao <yaozhenguo1@gmail.com> 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@gmail.com> Reviewed-by: Muchun Song <songmuchun@bytedance.com> Thanks.
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@gmail.com> > --- > 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@redhat.com> Best regards, Maxim Levitsky
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) {
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@gmail.com> --- mm/hugetlb.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)