[PATCH v2 3/5] powerpc/mce: Hookup derror (load/store) UE errors

Nicholas Piggin npiggin at gmail.com
Wed Sep 13 18:56:30 AEST 2017


On Wed, 13 Sep 2017 16:26:59 +1000
Balbir Singh <bsingharora at gmail.com> wrote:

> On Wed, Sep 13, 2017 at 4:21 PM, Nicholas Piggin <npiggin at gmail.com> wrote:
> > On Wed, 13 Sep 2017 16:10:47 +1000
> > Balbir Singh <bsingharora at gmail.com> wrote:
> >  
> >> 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
> 
> >
> > 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


More information about the Linuxppc-dev mailing list