aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZhenguo Yao <[email protected]>2021-12-10 14:47:08 -0800
committerLinus Torvalds <[email protected]>2021-12-10 17:10:56 -0800
commit4178158ef8cadeb0ee86639749ce2b33ad75f770 (patch)
treecdf4aeefd4e4e880d595607c67f50be1c4e06605
parenta7ebf564de325e1d7d52cd85b12721c424338bcc (diff)
hugetlbfs: fix issue of preallocation of gigantic pages can't work
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. Link: https://lkml.kernel.org/r/[email protected] Fixes: b5389086ad7b ("hugetlbfs: extend the definition of hugepages parameter to support node allocation") Signed-off-by: Zhenguo Yao <[email protected]> Reviewed-by: Mike Kravetz <[email protected]> Tested-by: Maxim Levitsky <[email protected]> Reviewed-by: Muchun Song <[email protected]> Reviewed-by: Baolin Wang <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
-rw-r--r--mm/hugetlb.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/mm/hugetlb.c b/mm/hugetlb.c
index abcd1785c629..a1baa198519a 100644
--- a/mm/hugetlb.c
+++ b/mm/hugetlb.c
@@ -2973,7 +2973,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) {