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.