[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <be81558c-286d-3620-bd9f-014c7861d9d1@huawei.com>
Date: Fri, 10 Jun 2022 17:35:52 +0800
From: Kefeng Wang <wangkefeng.wang@...wei.com>
To: mawupeng <mawupeng1@...wei.com>, <anshuman.khandual@....com>,
<david@...hat.com>, <corbet@....net>, <will@...nel.org>,
<ardb@...nel.org>, <catalin.marinas@....com>
CC: <tglx@...utronix.de>, <mingo@...hat.com>, <bp@...en8.de>,
<dave.hansen@...ux.intel.com>, <x86@...nel.org>, <hpa@...or.com>,
<dvhart@...radead.org>, <andy@...radead.org>, <rppt@...nel.org>,
<akpm@...ux-foundation.org>, <paul.walmsley@...ive.com>,
<palmer@...belt.com>, <aou@...s.berkeley.edu>,
<paulmck@...nel.org>, <keescook@...omium.org>,
<songmuchun@...edance.com>, <rdunlap@...radead.org>,
<damien.lemoal@...nsource.wdc.com>, <swboyd@...omium.org>,
<wei.liu@...nel.org>, <robin.murphy@....com>,
<thunder.leizhen@...wei.com>, <gpiccoli@...lia.com>,
<chenhuacai@...nel.org>, <geert@...ux-m68k.org>,
<vijayb@...ux.microsoft.com>, <linux-doc@...r.kernel.org>,
<linux-kernel@...r.kernel.org>,
<linux-arm-kernel@...ts.infradead.org>,
<linux-efi@...r.kernel.org>, <platform-driver-x86@...r.kernel.org>,
<linux-mm@...ck.org>, <linux-riscv@...ts.infradead.org>
Subject: Re: [PATCH v3 4/6] mm: Demote warning message in vmemmap_verify() to
debug level
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@...wei.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@...wei.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.
>
>> .
> .
Powered by blists - more mailing lists