[PATCH V2] mm/hugetlb: Make __NR_USED_SUBPAGE check conditional
From: Anshuman Khandual
Date: Mon Dec 02 2024 - 21:32:27 EST
The HugeTLB order check against __NR_USED_SUBPAGE is required only when
HUGETLB_PAGE_OPTIMIZE_VMEMMAP is enabled. Hence BUG_ON() trigger should
happen only when applicable.
Cc: Muchun Song <muchun.song@xxxxxxxxx>
Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Cc: Oscar Salvador <osalvador@xxxxxxx>
Cc: linux-mm@xxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Signed-off-by: Anshuman Khandual <anshuman.khandual@xxxxxxx>
---
This patch applies on v6.13-rc1
Changes in V2:
- Fixed #ifdef with CONFIG_HUGETLB_PAGE_OPTIMIZE_VMEMMAP per Oscar
Changes in V1:
https://lore.kernel.org/all/20241202090728.78935-1-anshuman.khandual@xxxxxxx/
mm/hugetlb.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/mm/hugetlb.c b/mm/hugetlb.c
index ea2ed8e301ef..e6a5b21e3578 100644
--- a/mm/hugetlb.c
+++ b/mm/hugetlb.c
@@ -4513,11 +4513,13 @@ void __init hugetlb_add_hstate(unsigned int order)
struct hstate *h;
unsigned long i;
- if (size_to_hstate(PAGE_SIZE << order)) {
+ if (size_to_hstate(PAGE_SIZE << order))
return;
- }
+
BUG_ON(hugetlb_max_hstate >= HUGE_MAX_HSTATE);
+#ifdef CONFIG_HUGETLB_PAGE_OPTIMIZE_VMEMMAP
BUG_ON(order < order_base_2(__NR_USED_SUBPAGE));
+#endif
h = &hstates[hugetlb_max_hstate++];
__mutex_init(&h->resize_lock, "resize mutex", &h->resize_key);
h->order = order;
--
2.30.2