Re: [PATCH 07/14] mce3: pass mce info to EDAC for decoding

Andi Kleen
2009-07-21T11:05:06Z

On Tue, Jul 21, 2009 at 12:44:43PM +0200, Borislav Petkov wrote:
> On Mon, Jul 20, 2009 at 08:04:46PM +0200, Andi Kleen wrote:
> > On Mon, Jul 20, 2009 at 06:12:58PM +0200, Borislav Petkov wrote:
> > > Use a weakly defined symbol instead of ugly ifdefs.
> >
> > I'm not sure what you're trying to archive, but if you're
> > trying to catch corrected MCs you're hooking into the
> > wrong function. print_mce is only called for PCC=1.
>
> Well, I was able to mce-inject a PCC=0 MCE with UC set:

Try it without UC=1.

>
> > Also if you're checking for specific banks you
> > need to check for vendor/cpu model first of course.
> > In your current implementation e.g. a Intel CPU
> > would pass some random event into your AMD specific code,
> > which is probably not intended and might even crash.
>
> Actually I wanted to worry about that only after we have more than one
> vendor-specific MCE decoders :).

But your code is always unconditionally called when the code
is linked in. I suspect i'll just crash on systems
where amd64_edac is not initialized.

> > It would be probably cleaner if you defined a standard
> > notifier chain interface.
>
> Sounds like a cleaner solution, at a first glance. Will look into it.

Actually on second though a notifier chain is a bad idea
because there is too much risk having bad modules mess
up machine check handling. It's a critical path like
oops handling.

-Andi

--
ak@linux.intel.com -- Speaking for myself only.