Thread (9 messages) flat view 9 messages, 2 authors, 2017-09-13

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_failure
quoted
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help