[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <c9284441-be6e-d2a0-9283-9e90c9d2da41@gmx.de>
Date: Thu, 31 Aug 2023 11:06:19 +0200
From: Helge Deller <deller@....de>
To: Shuai Xue <xueshuai@...ux.alibaba.com>,
Will Deacon <will@...nel.org>,
"Luck, Tony" <tony.luck@...el.com>
Cc: catalin.marinas@....com, James.Bottomley@...senPartnership.com,
dave.hansen@...ux.intel.com, luto@...nel.org, peterz@...radead.org,
tglx@...utronix.de, mingo@...hat.com, bp@...en8.de, x86@...nel.org,
hpa@...or.com, linux-arm-kernel@...ts.infradead.org,
linux-kernel@...r.kernel.org, linux-parisc@...r.kernel.org
Subject: Re: [PATCH] HWPOISON: add a pr_err message when forcibly send a
sigbus
On 8/31/23 05:29, Shuai Xue wrote:
> On 2023/8/31 06:18, Will Deacon wrote:
>> On Mon, Aug 28, 2023 at 09:41:55AM +0800, Shuai Xue wrote:
>>> On 2023/8/22 09:15, Shuai Xue wrote:
>>>> On 2023/8/21 18:50, Will Deacon wrote:
>>>>>> diff --git a/arch/arm64/mm/fault.c b/arch/arm64/mm/fault.c
>>>>>> index 3fe516b32577..38e2186882bd 100644
>>>>>> --- a/arch/arm64/mm/fault.c
>>>>>> +++ b/arch/arm64/mm/fault.c
>>>>>> @@ -679,6 +679,8 @@ static int __kprobes do_page_fault(unsigned long far, unsigned long esr,
>>>>>> } else if (fault & (VM_FAULT_HWPOISON_LARGE | VM_FAULT_HWPOISON)) {
>>>>>> unsigned int lsb;
>>>>>>
>>>>>> + pr_err("MCE: Killing %s:%d due to hardware memory corruption fault at %lx\n",
>>>>>> + current->comm, current->pid, far);
>>>>>> lsb = PAGE_SHIFT;
>>>>>> if (fault & VM_FAULT_HWPOISON_LARGE)
>>>>>> lsb = hstate_index_to_shift(VM_FAULT_GET_HINDEX(fault));
>>>>>
>>>>> Hmm, I'm not convinced by this. We have 'show_unhandled_signals' already,
>>>>> and there's plenty of code in memory-failure.c for handling poisoned pages
>>>>> reported by e.g. GHES. I don't think dumping extra messages in dmesg from
>>>>> the arch code really adds anything.
>>>>
>>>> I see the show_unhandled_signals() will dump the stack but it rely on
>>>> /proc/sys/debug/exception-trace be set.
>>>>
>>>> The memory failure is the top issue in our production cloud and also other hyperscalers.
>>>> We have received complaints from our operations engineers and end users that processes
>>>> are being inexplicably killed :(. Could you please consider add a message?
>>
>> I don't have any objection to logging this stuff somehow, I'm just not
>> convinced that the console is the best place for that information in 2023.
>> Is there really nothing better?
> I agree that console might not the better place, but it still plays an important role.
> IMO the most direct idea for end user to check what happened is to check by viewing
> the dmesg. In addition, we deployed some log store service collects all cluster dmesg
> from /var/log/kern.
Right, pr_err() is not just console.
It ends up in the syslog, which ends up in a lot of places, e.g. through syslog forwarding.
Most monitoring tools monitor the syslog as well.
So, IMHO pr_err() is the right thing.
Helge
>
> Hi, Will,
>
>
> Do you have any better choice?
>
> + @Tony for ERST
> I found that after /dev/mcelog driver deprecated, both x86 and ARM64 platform does not
> support to collect MCE record of previous boot in persistent storage via APEI ERST.
> I propose to add a mechanism to do it for rasdaemon. Do you have any suggestion?
>
> Thank you.
> Best Regards,
> Shuai
>
Powered by blists - more mailing lists