Messages in this thread | | | Date | Fri, 10 Jun 2022 17:35:52 +0800 | Subject | Re: [PATCH v3 4/6] mm: Demote warning message in vmemmap_verify() to debug level | From | Kefeng Wang <> |
| |
On 2022/6/9 16:13, mawupeng wrote: > > > 在 2022/6/8 18:00, Anshuman Khandual 写道: >> >> >> On 6/8/22 06:56, mawupeng wrote: >>> >>> >>> 在 2022/6/7 20:25, David Hildenbrand 写道: >>>> On 07.06.22 11:38, Wupeng Ma wrote: >>>>> From: Ma Wupeng <mawupeng1@huawei.com> >>>>> >>>>> For a system only have limited mirrored memory or some numa node >>>>> without >>>>> mirrored memory, the per node vmemmap page_structs prefer to allocate >>>>> memory from mirrored region, which will lead to vmemmap_verify() in >>>>> vmemmap_populate_basepages() report lots of warning message. >>>>> >>>>> This patch demote the "potential offnode page_structs" warning >>>>> messages >>>>> to debug level to avoid a very long print during bootup. >>>>> >>>>> Signed-off-by: Ma Wupeng <mawupeng1@huawei.com> >>>>> --- >>>>> mm/sparse-vmemmap.c | 2 +- >>>>> 1 file changed, 1 insertion(+), 1 deletion(-) >>>>> >>>>> diff --git a/mm/sparse-vmemmap.c b/mm/sparse-vmemmap.c >>>>> index f4fa61dbbee3..78debdb89eb1 100644 >>>>> --- a/mm/sparse-vmemmap.c >>>>> +++ b/mm/sparse-vmemmap.c >>>>> @@ -528,7 +528,7 @@ void __meminit vmemmap_verify(pte_t *pte, int >>>>> node, >>>>> int actual_node = early_pfn_to_nid(pfn); >>>>> if (node_distance(actual_node, node) > LOCAL_DISTANCE) >>>>> - pr_warn("[%lx-%lx] potential offnode page_structs\n", >>>>> + pr_debug("[%lx-%lx] potential offnode page_structs\n", >>>>> start, end - 1); >>>>> } >>>> >>>> This will possibly hide it in environments where this might indeed >>>> indicate performance issues. >>>> >>>> What about a pr_warn_once()? >>>> >>> >>> Sure. >>> >>> This will works. We can certainly use a pr_warn_once(). >> >> Why not pr_warn_ratelimited() like in the previous patch ? > > Function vmemmap_populate_basepages() is used to populate base pages. > System with huge memory will produce lots lots of warning message > during this populate process even with ratelimited. This may lead to slow > startup.
I think pr_warn_once is better, the memblock_alloc fallback is not frequent,
but vmemmap_verify will verify each memory and print a lot.
> > Thanks for reviewing. > >> . > .
| |