Re: [PATCH 2/2] edac: add support for Amazon's Annapurna Labs EDAC

From: Benjamin Herrenschmidt
Date: Tue Jun 11 2019 - 03:26:39 EST


On Tue, 2019-06-11 at 15:50 +1000, Benjamin Herrenschmidt wrote:
> On Sat, 2019-06-08 at 11:05 +0200, Borislav Petkov wrote:
> > On Sat, Jun 08, 2019 at 10:16:11AM +1000, Benjamin Herrenschmidt wrote:
> > > Those IP blocks don't need any SW coordination at runtime. The drivers
> > > don't share data nor communicate with each other. There is absolultely
> > > no reason to go down that path.
> >
> > Let me set one thing straight: the EDAC "subsystem" if you will - or
> > that pile of code which does error counting and reporting - has its
> > limitations in supporting one EDAC driver per platform. And whenever we
> > have two drivers loadable on a platform, we have to do dirty hacks like
> >
> > 301375e76432 ("EDAC: Add owner check to the x86 platform drivers")
> >
> > What that means is, that if you need to call EDAC logging routines or
> > whatnot from two different drivers, there's no locking, no nothing. So
> > it might work or it might set your cat on fire.
>
> Should we fix that then instead ? What are the big issues with adding
> some basic locking ? being called from NMIs ?
>
> If the separate drivers operate on distinct counters I don't see a big
> problem there.

So looking again ... all the registration/removal of edac devices seem
to already be protected by mutexes, so that's not a problem.

Tell me more about what specific races you think we might have here,
I'm not sure I follow...

Cheers,
Ben.