* [PATCH] mm/hugetlb: prefix log messages via pr_fmt
@ 2026-10-10 9:23 Enze Li
2026-10-10 9:26 ` Muchun Song
0 siblings, 1 reply; 2+ messages in thread
From: Enze Li @ 2026-10-10 9:23 UTC (permalink / raw)
To: muchun.song, osalvador, david, akpm; +Cc: linux-mm, enze.li, Enze Li
Pretty much every pr_* message in this file starts with "HugeTLB: ",
typed out by hand, and one of them even drifted to lowercase ("hugetlb:").
hugetlb_vmemmap.c already handles this with pr_fmt, so let's do the same
here instead of repeating the prefix over and over.
The output stays the same for almost everything; the only tweaks are that
the lowercase message now matches the others, and the ratelimited "killed
due to inadequate hugepage pool" warning picks up the prefix like
everything else.
Signed-off-by: Enze Li <lienze@kylinos.cn>
---
mm/hugetlb.c | 52 +++++++++++++++++++++++++++-------------------------
1 file changed, 27 insertions(+), 25 deletions(-)
diff --git a/mm/hugetlb.c b/mm/hugetlb.c
index 7b7410bc6916..63dc836061c9 100644
--- a/mm/hugetlb.c
+++ b/mm/hugetlb.c
@@ -3,6 +3,8 @@
* Generic hugetlb support.
* (C) Nadia Yvette Chambers, April 2004
*/
+#define pr_fmt(fmt) "HugeTLB: " fmt
+
#include <linux/list.h>
#include <linux/init.h>
#include <linux/mm.h>
@@ -458,7 +460,7 @@ static void hugetlb_vma_lock_alloc(struct vm_area_struct *vma)
* until the file is removed. Warn in the unlikely case of
* allocation failure.
*/
- pr_warn_once("HugeTLB: unable to allocate vma specific lock\n");
+ pr_warn_once("unable to allocate vma specific lock\n");
return;
}
@@ -987,7 +989,7 @@ void hugetlb_fix_reserve_counts(struct inode *inode)
}
if (!reserved)
- pr_warn("hugetlb: Huge Page Reserved count may go negative.\n");
+ pr_warn("Huge Page Reserved count may go negative.\n");
}
/*
@@ -3419,7 +3421,7 @@ static unsigned long __init hugetlb_free_cross_zone_pages(struct hstate *h, int
char buf[32];
string_get_size(huge_page_size(h), 1, STRING_UNITS_2, buf, sizeof(buf));
- pr_warn("HugeTLB: freed %lu cross-zone hugepages of size %s on node %d.\n",
+ pr_warn("freed %lu cross-zone hugepages of size %s on node %d.\n",
freed, buf, nid);
}
@@ -3465,7 +3467,7 @@ static void __init hugetlb_hstate_alloc_pages_onenode(struct hstate *h, int nid)
return;
string_get_size(huge_page_size(h), 1, STRING_UNITS_2, buf, 32);
- pr_warn("HugeTLB: allocating %u of page size %s failed node%d. Only allocated %lu hugepages.\n",
+ pr_warn("allocating %u of page size %s failed node%d. Only allocated %lu hugepages.\n",
h->max_huge_pages_node[nid], buf, nid, i);
h->max_huge_pages -= (h->max_huge_pages_node[nid] - i);
h->max_huge_pages_node[nid] = i;
@@ -3492,7 +3494,7 @@ static void __init hugetlb_hstate_alloc_pages_errcheck(unsigned long allocated,
char buf[32];
string_get_size(huge_page_size(h), 1, STRING_UNITS_2, buf, 32);
- pr_warn("HugeTLB: allocating %lu of page size %s failed. Only allocated %lu hugepages.\n",
+ pr_warn("allocating %lu of page size %s failed. Only allocated %lu hugepages.\n",
h->max_huge_pages, buf, allocated);
h->max_huge_pages = allocated;
}
@@ -3607,7 +3609,7 @@ static unsigned long __init hugetlb_pages_alloc_boot(struct hstate *h)
jiffies_end = jiffies;
- pr_info("HugeTLB: allocation took %dms with hugepage_allocation_threads=%ld\n",
+ pr_info("allocation took %dms with hugepage_allocation_threads=%ld\n",
jiffies_to_msecs(jiffies_end - jiffies_start),
hugepage_allocation_threads);
@@ -3635,7 +3637,7 @@ static void __init hugetlb_hstate_alloc_pages(struct hstate *h)
*/
if (hstate_is_gigantic(h) && hugetlb_cma_total_size() &&
!hugetlb_early_cma(h)) {
- pr_warn_once("HugeTLB: hugetlb_cma is enabled, skip boot time allocation\n");
+ pr_warn_once("hugetlb_cma is enabled, skip boot time allocation\n");
return;
}
@@ -3703,9 +3705,9 @@ static void __init report_hugepages(void)
char buf[32];
string_get_size(huge_page_size(h), 1, STRING_UNITS_2, buf, 32);
- pr_info("HugeTLB: registered %s page size, pre-allocated %ld pages\n",
+ pr_info("registered %s page size, pre-allocated %ld pages\n",
buf, h->nr_huge_pages);
- pr_info("HugeTLB: %d KiB vmemmap can be freed for a %s page\n",
+ pr_info("%d KiB vmemmap can be freed for a %s page\n",
hugetlb_vmemmap_optimizable_size(h) / SZ_1K, buf);
}
}
@@ -4045,7 +4047,7 @@ long demote_pool_huge_page(struct hstate *src, nodemask_t *nodes_allowed,
/* We should never get here if no demote order */
if (!src->demote_order) {
- pr_warn("HugeTLB: NULL demote order passed to demote_pool_huge_page.\n");
+ pr_warn("NULL demote order passed to demote_pool_huge_page.\n");
return -EINVAL; /* internal error */
}
dst = size_to_hstate(PAGE_SIZE << src->demote_order);
@@ -4190,7 +4192,7 @@ static int __init hugetlb_init(void)
if (!hugepages_supported()) {
if (hugetlb_max_hstate || default_hstate_max_huge_pages)
- pr_warn("HugeTLB: huge pages not supported, ignoring associated command-line parameters\n");
+ pr_warn("huge pages not supported, ignoring associated command-line parameters\n");
return 0;
}
@@ -4215,9 +4217,9 @@ static int __init hugetlb_init(void)
string_get_size(huge_page_size(&default_hstate),
1, STRING_UNITS_2, buf, 32);
- pr_warn("HugeTLB: Ignoring hugepages=%lu associated with %s page size\n",
+ pr_warn("Ignoring hugepages=%lu associated with %s page size\n",
default_hstate.max_huge_pages, buf);
- pr_warn("HugeTLB: Using hugepages=%lu for number of default huge pages\n",
+ pr_warn("Using hugepages=%lu for number of default huge pages\n",
default_hstate_max_huge_pages);
}
default_hstate.max_huge_pages =
@@ -4357,12 +4359,12 @@ static int __init hugepages_setup(char *s)
char *p = s;
if (!hugepages_supported()) {
- pr_warn("HugeTLB: hugepages unsupported, ignoring hugepages=%s cmdline\n", s);
+ pr_warn("hugepages unsupported, ignoring hugepages=%s cmdline\n", s);
return 0;
}
if (!parsed_valid_hugepagesz) {
- pr_warn("HugeTLB: hugepages=%s does not follow a valid hugepagesz, ignoring\n", s);
+ pr_warn("hugepages=%s does not follow a valid hugepagesz, ignoring\n", s);
parsed_valid_hugepagesz = true;
return -EINVAL;
}
@@ -4379,7 +4381,7 @@ static int __init hugepages_setup(char *s)
mhp = &parsed_hstate->max_huge_pages;
if (mhp == last_mhp) {
- pr_warn("HugeTLB: hugepages= specified twice without interleaving hugepagesz=, ignoring hugepages=%s\n", s);
+ pr_warn("hugepages= specified twice without interleaving hugepagesz=, ignoring hugepages=%s\n", s);
return 1;
}
@@ -4390,7 +4392,7 @@ static int __init hugepages_setup(char *s)
/* Parameter is node format */
if (p[count] == ':') {
if (!hugetlb_node_alloc_supported()) {
- pr_warn("HugeTLB: architecture can't support node specific alloc, ignoring!\n");
+ pr_warn("architecture can't support node specific alloc, ignoring!\n");
return 1;
}
if (tmp >= MAX_NUMNODES || !node_online(tmp))
@@ -4423,7 +4425,7 @@ static int __init hugepages_setup(char *s)
return 0;
invalid:
- pr_warn("HugeTLB: Invalid hugepages parameter %s\n", p);
+ pr_warn("Invalid hugepages parameter %s\n", p);
hugepages_clear_pages_in_node();
return -EINVAL;
}
@@ -4442,7 +4444,7 @@ static int __init hugepagesz_setup(char *s)
struct hstate *h;
if (!hugepages_supported()) {
- pr_warn("HugeTLB: hugepages unsupported, ignoring hugepagesz=%s cmdline\n", s);
+ pr_warn("hugepages unsupported, ignoring hugepagesz=%s cmdline\n", s);
return 0;
}
@@ -4450,7 +4452,7 @@ static int __init hugepagesz_setup(char *s)
size = (unsigned long)memparse(s, NULL);
if (!arch_hugetlb_valid_size(size)) {
- pr_err("HugeTLB: unsupported hugepagesz=%s\n", s);
+ pr_err("unsupported hugepagesz=%s\n", s);
return -EINVAL;
}
@@ -4465,7 +4467,7 @@ static int __init hugepagesz_setup(char *s)
*/
if (!parsed_default_hugepagesz || h != &default_hstate ||
default_hstate.max_huge_pages) {
- pr_warn("HugeTLB: hugepagesz=%s specified twice, ignoring\n", s);
+ pr_warn("hugepagesz=%s specified twice, ignoring\n", s);
return -EINVAL;
}
@@ -4495,21 +4497,21 @@ static int __init default_hugepagesz_setup(char *s)
int i;
if (!hugepages_supported()) {
- pr_warn("HugeTLB: hugepages unsupported, ignoring default_hugepagesz=%s cmdline\n",
+ pr_warn("hugepages unsupported, ignoring default_hugepagesz=%s cmdline\n",
s);
return 0;
}
parsed_valid_hugepagesz = false;
if (parsed_default_hugepagesz) {
- pr_err("HugeTLB: default_hugepagesz previously specified, ignoring %s\n", s);
+ pr_err("default_hugepagesz previously specified, ignoring %s\n", s);
return -EINVAL;
}
size = (unsigned long)memparse(s, NULL);
if (!arch_hugetlb_valid_size(size)) {
- pr_err("HugeTLB: unsupported default_hugepagesz=%s\n", s);
+ pr_err("unsupported default_hugepagesz=%s\n", s);
return -EINVAL;
}
@@ -4774,7 +4776,7 @@ static void hugetlb_vm_op_open(struct vm_area_struct *vma)
vma->vm_private_data = NULL;
hugetlb_vma_lock_alloc(vma);
} else {
- pr_warn("HugeTLB: vma_lock already exists in %s.\n", __func__);
+ pr_warn("vma_lock already exists in %s.\n", __func__);
}
} else {
hugetlb_vma_lock_alloc(vma);
base-commit: 8b38ed9ab5b09c8ba168cbcc49524e9b380ee5c4
--
2.55.0
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] mm/hugetlb: prefix log messages via pr_fmt
2026-10-10 9:23 [PATCH] mm/hugetlb: prefix log messages via pr_fmt Enze Li
@ 2026-10-10 9:26 ` Muchun Song
0 siblings, 0 replies; 2+ messages in thread
From: Muchun Song @ 2026-10-10 9:26 UTC (permalink / raw)
To: Enze Li; +Cc: osalvador, david, akpm, linux-mm, enze.li
> On Oct 10, 2026, at 17:23, Enze Li <lienze@kylinos.cn> wrote:
>
> Pretty much every pr_* message in this file starts with "HugeTLB: ",
> typed out by hand, and one of them even drifted to lowercase ("hugetlb:").
> hugetlb_vmemmap.c already handles this with pr_fmt, so let's do the same
> here instead of repeating the prefix over and over.
>
> The output stays the same for almost everything; the only tweaks are that
> the lowercase message now matches the others, and the ratelimited "killed
> due to inadequate hugepage pool" warning picks up the prefix like
> everything else.
>
> Signed-off-by: Enze Li <lienze@kylinos.cn>
I wanted to do this a long time ago, but I never got around to it.
Thanks for your work.
Acked-by: Muchun Song <muchun.song@linux.dev>
Thanks.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-10-10 9:27 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-10 9:23 [PATCH] mm/hugetlb: prefix log messages via pr_fmt Enze Li
2026-10-10 9:26 ` Muchun Song
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.