Re: [PATCH -tip] perf, x86: fix unknown NMIs on a Pentium4 box

From: Cyrill Gorcunov
Date: Thu Apr 14 2011 - 15:43:36 EST


On 04/14/2011 10:46 PM, Ingo Molnar wrote:
>
> btw., the bug went away once i removed your patch so it's 100% sure caused by
> this change.
>
> Thanks,
>
> Ingo

Ingo if you have a chance mind to give this patch a shot please? Seems we might miss unmasking
for inflight nmis.
--
Index: linux-2.6.git/arch/x86/kernel/cpu/perf_event.c
=====================================================================
--- linux-2.6.git.orig/arch/x86/kernel/cpu/perf_event.c
+++ linux-2.6.git/arch/x86/kernel/cpu/perf_event.c
@@ -1365,14 +1365,15 @@ perf_event_nmi_handler(struct notifier_b
* will be empty and daze the CPU. So, we drop it to
* avoid false-positive 'unknown nmi' messages.
*/
+ apic_write(APIC_LVTPC, APIC_DM_NMI);
return NOTIFY_STOP;
default:
return NOTIFY_DONE;
}

- apic_write(APIC_LVTPC, APIC_DM_NMI);

handled = x86_pmu.handle_irq(args->regs);
+ apic_write(APIC_LVTPC, APIC_DM_NMI);
if (!handled)
return NOTIFY_DONE;

--
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/