Re: [PATCH v2 3/5] powerpc/mce: Hookup derror (load/store) UE errors
From: Nicholas Piggin <npiggin@gmail.com>
Date: 2017-09-13 08:56:44
On Wed, 13 Sep 2017 16:26:59 +1000 Balbir Singh [off-list ref] wrote:
On Wed, Sep 13, 2017 at 4:21 PM, Nicholas Piggin [off-list ref] wrote:quoted
On Wed, 13 Sep 2017 16:10:47 +1000 Balbir Singh [off-list ref] wrote:quoted
Extract physical_address for UE errors by walking the page tables for the mm and address at the NIP, to extract the instruction. Then use the instruction to find the effective address via analyse_instr(). We might have page table walking races, but we expect them to be rare, the physical address extraction is best effort. The idea is to then hook up this infrastructure to memory failure eventually.This all looks pretty good to me, you can probably update these changelogs now because you are hooking it into memory failure.Yep, the eventually can probably go, I meant in the next patch. The following patch then hooks this up into memory_failurequoted
I wonder if it would be worth skipping the instruction analysis and page table walk if we've recursed up to the maximum MCE depth, just in case we're hitting MCEs in part of that code or data.Yep, good idea. Would you be OK if we did this after this small series got merged?
I don't mind much, but I'd have thought being that it's all new code,
adding the check would be pretty easy.
if (get_paca()->in_mce == 4) {}
(Probably with the '4' appropriately #defined out of here and the
exception-64s.S code)
Since that would mean that we got a UE error while processing the our third machine check exception, I think the probability of us running into that is low, but I'd definitely like to do that once these changes are merged.
If we're getting UEs in the machine check code or walking kernel page tables though, it will just keep recurring. Unlikely yes, but it's still a slight regression. Thanks, Nick