Subject: Re: [PATCH 0/3] powerpc/mce: Fix mce handler and add selftest

From: Ganesh <[email-masked]>
Date: Fri, 18 Sep 2020 17:19:02 +0530

On 9/17/20 5:59 PM, Michal Suchánek wrote:
> Hello,
>
> On Wed, Sep 16, 2020 at 10:52:25PM +0530, Ganesh Goudar wrote:
>> This patch series fixes mce handling for pseries, provides debugfs
>> interface for mce injection and adds selftest to test mce handling
>> on pseries/powernv machines running in hash mmu mode.
>> debugfs interface and sleftest are added only for slb multihit
>> injection, We can add other tests in future if possible.
>>
>> Ganesh Goudar (3):
>>    powerpc/mce: remove nmi_enter/exit from real mode handler
>>    powerpc/mce: Add debugfs interface to inject MCE
>>    selftest/powerpc: Add slb multihit selftest
> Is the below logic sound? It does not agree with what is added here:
>
> void machine_check_exception(struct pt_regs *regs)
> {
> 	int recover = 0;
>
> 	/*
> 	 * BOOK3S_64 does not call this handler as a non-maskable interrupt
> 	 * (it uses its own early real-mode handler to handle the MCE proper
> 	 * and then raises irq_work to call this handler when interrupts are
> 	 * enabled).
> 	 *
> 	 * This is silly. The BOOK3S_64 should just call a different function
> 	 * rather than expecting semantics to magically change. Something
> 	 * like 'non_nmi_machine_check_exception()', perhaps?
> 	 */
> 	const bool nmi = !IS_ENABLED(CONFIG_PPC_BOOK3S_64);
>
> 	if (nmi) nmi_enter();
>
> Thanks
>
> Michal
Looks like Nick Piggin has the Justification for it, Ill leave Nick to 
answer this.