]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
mm/hugetlb: early exit from hugetlb_pages_alloc_boot() when max_huge_pages=0
authorLi RongQing <lirongqing@baidu.com>
Thu, 14 Aug 2025 10:23:33 +0000 (18:23 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 19 Oct 2025 14:23:18 +0000 (16:23 +0200)
commit b322e88b3d553e85b4e15779491c70022783faa4 upstream.

Optimize hugetlb_pages_alloc_boot() to return immediately when
max_huge_pages is 0, avoiding unnecessary CPU cycles and the below log
message when hugepages aren't configured in the kernel command line.
[    3.702280] HugeTLB: allocation took 0ms with hugepage_allocation_threads=32

Link: https://lkml.kernel.org/r/20250814102333.4428-1-lirongqing@baidu.com
Signed-off-by: Li RongQing <lirongqing@baidu.com>
Reviewed-by: Dev Jain <dev.jain@arm.com>
Tested-by: Dev Jain <dev.jain@arm.com>
Reviewed-by: Jane Chu <jane.chu@oracle.com>
Acked-by: David Hildenbrand <david@redhat.com>
Cc: Muchun Song <muchun.song@linux.dev>
Cc: Oscar Salvador <osalvador@suse.de>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
mm/hugetlb.c

index 5c25bde7b38df5ff8ebcf2bd0bc68d84a93c8e8b..77c1ac7a05910cd2a51efa14a2481e0acb052a1e 100644 (file)
@@ -3324,6 +3324,9 @@ static void __init hugetlb_hstate_alloc_pages(struct hstate *h)
                return;
        }
 
+       if (!h->max_huge_pages)
+               return;
+
        /* do node specific alloc */
        for_each_online_node(i) {
                if (h->max_huge_pages_node[i] > 0) {