summaryrefslogtreecommitdiffstats
path: root/mm/hugetlb.c
diff options
context:
space:
mode:
authorFrank van der Linden <fvdl@google.com>2023-10-04 17:32:48 +0200
committerAndrew Morton <akpm@linux-foundation.org>2023-10-18 23:34:17 +0200
commit59838b2566f6d03099743675a2e0f425813078c6 (patch)
tree18db38fad872d7c95c83822deb26c5a4fece3c8f /mm/hugetlb.c
parentmm: use folio_xor_flags_has_waiters() in folio_end_writeback() (diff)
downloadlinux-59838b2566f6d03099743675a2e0f425813078c6.tar.xz
linux-59838b2566f6d03099743675a2e0f425813078c6.zip
mm, hugetlb: remove HUGETLB_CGROUP_MIN_ORDER
Originally, hugetlb_cgroup was the only hugetlb user of tail page structure fields. So, the code defined and checked against HUGETLB_CGROUP_MIN_ORDER to make sure pages weren't too small to use. However, by now, tail page #2 is used to store hugetlb hwpoison and subpool information as well. In other words, without that tail page hugetlb doesn't work. Acknowledge this fact by getting rid of HUGETLB_CGROUP_MIN_ORDER and checks against it. Instead, just check for the minimum viable page order at hstate creation time. Link: https://lkml.kernel.org/r/20231004153248.3842997-1-fvdl@google.com Signed-off-by: Frank van der Linden <fvdl@google.com> Reviewed-by: Mike Kravetz <mike.kravetz@oracle.com> Cc: Muchun Song <muchun.song@linux.dev> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Diffstat (limited to 'mm/hugetlb.c')
-rw-r--r--mm/hugetlb.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/mm/hugetlb.c b/mm/hugetlb.c
index 7ad9d2159da4..e2b1c417b90a 100644
--- a/mm/hugetlb.c
+++ b/mm/hugetlb.c
@@ -4361,7 +4361,7 @@ void __init hugetlb_add_hstate(unsigned int order)
return;
}
BUG_ON(hugetlb_max_hstate >= HUGE_MAX_HSTATE);
- BUG_ON(order == 0);
+ BUG_ON(order < order_base_2(__NR_USED_SUBPAGE));
h = &hstates[hugetlb_max_hstate++];
mutex_init(&h->resize_lock);
h->order = order;