Re: [PATCH 3/3] mce: acpi/apei: trace: Enable ghes memory error trace event

Mauro Carvalho Chehab
2013-08-15T00:15:17Z

Em Wed, 14 Aug 2013 16:17:26 +0530
"Naveen N. Rao" <naveen.n.rao@linux.vnet.ibm.com> escreveu:

> On 08/13/2013 11:09 PM, Luck, Tony wrote:
> >> In the meantime, like Boris suggests, I think we can have a different
> >> trace event for raw APEI reports - userspace can use it as it pleases.
> >>
> >> Once ghes_edac gets better, users can decide whether they want raw APEI
> >> reports or the EDAC-processed version and choose one or the other trace
> >> event.
> >
> > It's cheap to add as many tracepoints as we like - but may be costly to maintain.
> > Especially if we have to tinker with them later to adjust which things are logged,
> > that puts a burden on user-space tools to be updated to adapt to the changing
> > API.
>
> Agree. And this is the reason I have been considering mc_event. But, the
> below issues with ghes_edac made me unsure:
> - One, the logging format for APEI data is a bit verbose and hard to
> parse. But, I suppose we could work with this if we make a few changes.
> Is it ok to change how the APEI data is made available through
> mc_event->driver_detail?

Well, as userspace currently only stores it, doing a few changes at
driver_detail is likely safe, but we need to know what do you intend to do.

> - Two, if ghes_edac is enabled, it prevents other edac drivers from
> being loaded. It looks like the assumption here is that if ghes/firmware
> first is enabled, then *all* memory errors are reported through ghes
> which is not true. We could have (a subset of) corrected errors reported
> through ghes, some through CMCI and uncorrected errors through MCE. So,
> if I'm not mistaken, if ghes_edac is enabled, we will only receive ghes
> error events through mc_event and not the others. Mauro, is this accurate?

Yes, that's the current assumption. It prevents to have both BIOS and a
direct-hardware-access-EDAC-driver to race, as this is known to have
serious issues.

Btw, that's basically the reason why EDAC core should be compiled builtin,
as we need to reserve resources for APEI/GHES before having a chance to
register another EDAC driver.

The current logic doesn't affect error reports via MCE, although I think
we should also try to mask it at kernel, as it is easier to avoid event
duplication in Kernelspace than in userspace (at least for some cases).

We may try to implement a fine graining type of resource locking. Feel free
to propose patches for it.

>
> >
> > Mauro has written his user-space tool to process the ghes-edac events:
> > git://git.fedorahosted.org/rasdaemon.git
> >
> > Who is writing the user space tools to process the new apei tracepoints
> > you want to add?
>
> Enabling rasdaemon itself for the new tracepoint is an option, as long
> as Mauro doesn't object to it ;)

I don't object to add new tracepoint events there, but I want to prevent
duplicate reports for the very same error. One thing is to have a single
memory corrected error. The other thing is to have a burst of errors at the
same DIMM. If the very same error starts to appear 2, 3, 4 times, then
userspace may take the wrong decision of replacing a good memory just
because of a single random error there.

>
> >
> > I'm not opposed to these patches - just wondering who is taking the next step
> > to make them useful.
>
> Sure.
>
>
> Regards,
> Naveen
>

--

Cheers,
Mauro