Messages in this thread | | | Date | Tue, 21 Jul 2009 13:04:58 +0200 | From | Andi Kleen <> | Subject | Re: [PATCH 07/14] mce3: pass mce info to EDAC for decoding |
| |
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.
| |