Re: [RFC] x86: perf swallows all NMIs when registered with a user

From: Don Zickus
Date: Fri Jul 23 2010 - 13:11:22 EST


On Fri, Jul 23, 2010 at 09:42:18AM -0700, Yinghai Lu wrote:
> On 07/23/2010 05:55 AM, Don Zickus wrote:
> > On Thu, Jul 22, 2010 at 03:58:21PM -0700, Yinghai Lu wrote:
> >> cool, with your patch and following patch i can use nmi button now with CONFIG_LOCKUP_DETECTOR defined
> >>
> >> [PATCH] x86,nmi: move unknown_nmi_panic to traps.c
> >>
> >> So we use it even LOCKUP_DETECTOR is defined.
> >>
> >> need Don's patch...
> >
> > Thanks for the feedback Yinghai!
> >>
> >> Signed-off-by: Yinghai Lu <yinghai@xxxxxxxxxx>
> >
> > With regards to your patch, I am still a little uncomfortable with it, as
> > it seems to be redundant with what is used in unknown_nmi_error() and the
> > panic_on_unrecovered_nmi flag. I agree that keeping the familiar flag
> > 'unknown_nmi_panic' is needed. But I was still wondering if wrapping it
> > around 'panic_on_unrecovered_nmi' would be simpler and less code.
>
> how about the one in sysctl?

Would it be wrong to do something like (sorry for the copy/paste):

--- a/kernel/sysctl.c
+++ b/kernel/sysctl.c
@@ -744,7 +744,7 @@ static struct ctl_table kern_table[] = {
#if defined(CONFIG_X86_LOCAL_APIC) && defined(CONFIG_X86) &&
!defined(CONFIG_LOCKUP_DETECTOR)
{
.procname = "unknown_nmi_panic",
- .data = &unknown_nmi_panic,
+ .data = &panic_on_unrecovered_nmi,
.maxlen = sizeof (int),
.mode = 0644,
.proc_handler = proc_dointvec,

Cheers,
Don

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/