Messages in this thread Patch in this message | | | Date | Wed, 30 Jul 2003 21:18:54 +0200 (MEST) | From | Mikael Pettersson <> | Subject | Re: [PATCH] NMI watchdog documentation |
| |
On Tue, 29 Jul 2003 18:06:30 +0200, Andi Kleen wrote: >Right, 1 and 2 need to be exchanged. Anyways local apic mode does not seem >to work, the kernel always reportss "NMI stuck" at bootup. >IO APIC mode for is default.
That's strange. I've tested perfctr-generated interrupts through the local APIC on Opteron, and they work with the perfctr driver.
Two things you might want to test: - In case the unofficial event 0x76 really doesn't work in your version of the chip, try this event specifier instead: it creates a clock-like event using an inverted threshold approach. I've tested this on K8 and P6 with the perfctr driver. The event code (0xC0) is immaterial, 0x00 and 0xFF work equally well.
--- linux-2.6.0-test2/arch/x86_64/kernel/nmi.c.~1~ 2003-07-03 12:32:44.000000000 +0200 +++ linux-2.6.0-test2/arch/x86_64/kernel/nmi.c 2003-07-30 20:46:21.412657728 +0200 @@ -51,7 +51,7 @@ #define K7_EVNTSEL_OS (1 << 17) #define K7_EVNTSEL_USR (1 << 16) #define K7_EVENT_CYCLES_PROCESSOR_IS_RUNNING 0x76 -#define K7_NMI_EVENT K7_EVENT_CYCLES_PROCESSOR_IS_RUNNING +#define K7_NMI_EVENT (0xC0 | (1<<23) | (0xFF << 24)) #define P6_EVNTSEL0_ENABLE (1 << 22) #define P6_EVNTSEL_INT (1 << 20) - My perfctr driver routes interrupts through LVTPC programmed for Fixed delivery mode. Maybe the NMI delivery mode is broken. You could try changing the NMI watchdog to use a new vector and Fixed delivery mode, just to see if the watchdog starts ticking.
/Mikael - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |