mm/hugetlb.c | 3 +++ 1 file changed, 3 insertions(+)
From: Li RongQing <lirongqing@baidu.com>
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
Signed-off-by: Li RongQing <lirongqing@baidu.com>
---
diff with v1: adding the reduced log messages in commit header
mm/hugetlb.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/mm/hugetlb.c b/mm/hugetlb.c
index 753f99b..514fab5 100644
--- a/mm/hugetlb.c
+++ b/mm/hugetlb.c
@@ -3654,6 +3654,9 @@ static void __init hugetlb_hstate_alloc_pages(struct hstate *h)
return;
}
+ if (!h->max_huge_pages)
+ return;
+
/* do node specific alloc */
if (hugetlb_hstate_alloc_pages_specific_nodes(h))
return;
--
2.9.4
On 8/14/2025 3:23 AM, lirongqing wrote: > From: Li RongQing <lirongqing@baidu.com> > > 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 > > Signed-off-by: Li RongQing <lirongqing@baidu.com> > --- > diff with v1: adding the reduced log messages in commit header > > mm/hugetlb.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/mm/hugetlb.c b/mm/hugetlb.c > index 753f99b..514fab5 100644 > --- a/mm/hugetlb.c > +++ b/mm/hugetlb.c > @@ -3654,6 +3654,9 @@ static void __init hugetlb_hstate_alloc_pages(struct hstate *h) > return; > } > > + if (!h->max_huge_pages) > + return; > + > /* do node specific alloc */ > if (hugetlb_hstate_alloc_pages_specific_nodes(h)) > return; Looks good. Could you add stable: ? Reviewed-by: Jane Chu <jane.chu@oracle.com> thanks! -jane
On Sun, 17 Aug 2025 19:21:54 -0700 jane.chu@oracle.com wrote: > > On 8/14/2025 3:23 AM, lirongqing wrote: > > From: Li RongQing <lirongqing@baidu.com> > > > > 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 > > > > Signed-off-by: Li RongQing <lirongqing@baidu.com> > > --- > > diff with v1: adding the reduced log messages in commit header > > > > mm/hugetlb.c | 3 +++ > > 1 file changed, 3 insertions(+) > > > > diff --git a/mm/hugetlb.c b/mm/hugetlb.c > > index 753f99b..514fab5 100644 > > --- a/mm/hugetlb.c > > +++ b/mm/hugetlb.c > > @@ -3654,6 +3654,9 @@ static void __init hugetlb_hstate_alloc_pages(struct hstate *h) > > return; > > } > > > > + if (!h->max_huge_pages) > > + return; > > + > > /* do node specific alloc */ > > if (hugetlb_hstate_alloc_pages_specific_nodes(h)) > > return; > > Looks good. Could you add stable: ? Sure, I did that. A Fixes: would be nice, to tell the -stable maintainers how far back in time we need this, but the target sommit isn't obvious.
On 18.08.25 04:59, Andrew Morton wrote: > On Sun, 17 Aug 2025 19:21:54 -0700 jane.chu@oracle.com wrote: > >> >> On 8/14/2025 3:23 AM, lirongqing wrote: >>> From: Li RongQing <lirongqing@baidu.com> >>> >>> 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 >>> >>> Signed-off-by: Li RongQing <lirongqing@baidu.com> >>> --- >>> diff with v1: adding the reduced log messages in commit header >>> >>> mm/hugetlb.c | 3 +++ >>> 1 file changed, 3 insertions(+) >>> >>> diff --git a/mm/hugetlb.c b/mm/hugetlb.c >>> index 753f99b..514fab5 100644 >>> --- a/mm/hugetlb.c >>> +++ b/mm/hugetlb.c >>> @@ -3654,6 +3654,9 @@ static void __init hugetlb_hstate_alloc_pages(struct hstate *h) >>> return; >>> } >>> >>> + if (!h->max_huge_pages) >>> + return; >>> + >>> /* do node specific alloc */ >>> if (hugetlb_hstate_alloc_pages_specific_nodes(h)) >>> return; >> >> Looks good. Could you add stable: ? Can you elaborate why you think this is stable material? > > Sure, I did that. I don't think this is stable material, but for the change itself Acked-by: David Hildenbrand <david@redhat.com> -- Cheers David / dhildenb
On Mon, 18 Aug 2025 09:46:59 +0200 David Hildenbrand <david@redhat.com> wrote: > >>> if (hugetlb_hstate_alloc_pages_specific_nodes(h)) > >>> return; > >> > >> Looks good. Could you add stable: ? > > Can you elaborate why you think this is stable material? > To prevent the > [ 3.702280] HugeTLB: allocation took 0ms with hugepage_allocation_threads=32 message when hugetlb pages are disabled. Yeah, I guess it isn't very important. I'll destabilize the patch.
On 14/08/25 3:53 pm, lirongqing wrote: > From: Li RongQing <lirongqing@baidu.com> > > 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 > > Signed-off-by: Li RongQing <lirongqing@baidu.com> > --- > diff with v1: adding the reduced log messages in commit header > > mm/hugetlb.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/mm/hugetlb.c b/mm/hugetlb.c > index 753f99b..514fab5 100644 > --- a/mm/hugetlb.c > +++ b/mm/hugetlb.c > @@ -3654,6 +3654,9 @@ static void __init hugetlb_hstate_alloc_pages(struct hstate *h) > return; > } > > + if (!h->max_huge_pages) > + return; > + > /* do node specific alloc */ > if (hugetlb_hstate_alloc_pages_specific_nodes(h)) > return; Useful change! Reviewed-by: Dev Jain <dev.jain@arm.com> Tested-by: Dev Jain <dev.jain@arm.com>
© 2016 - 2025 Red Hat, Inc.