Messages in this thread | | | Date | Mon, 20 Jul 2009 11:27:12 -0700 (PDT) | From | Doug Thompson <> | Subject | Re: [PATCH 07/14] mce3: pass mce info to EDAC for decoding |
| |
--- On Mon, 7/20/09, Andi Kleen <andi@firstfloor.org> wrote:
> From: Andi Kleen <andi@firstfloor.org> > Subject: Re: [PATCH 07/14] mce3: pass mce info to EDAC for decoding > To: "Borislav Petkov" <borislav.petkov@amd.com> > Cc: mingo@elte.hu, hpa@zytor.com, tglx@linutronix.de, norsk5@yahoo.com, aris@redhat.com, linux-kernel@vger.kernel.org, x86@kernel.org, "Andi Kleen" <andi@firstfloor.org> > Date: Monday, July 20, 2009, 12:04 PM > 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 achieve,
The goal is to have a default handler within the kernel and a more specific handler in a module after it has loaded. Using the weak symbol as a mechanism to do that. I haven't used that, so I don't know if it works.
> but if you're > trying to catch corrected MCs you're hooking into the > wrong function. print_mce is only called for PCC=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.
On an Intel CPU based system, the AMD EDAC module wouldn't load due the missing AMD PCI Vendor/Device ID values during the module probe phase.
> > It would be probably cleaner if you defined a standard > notifier chain interface.
That might be a better and explicit solution
doug t
> > -Andi >
| |