Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Disable NMI watchdog by default properly

This reverts commit 6ebf622b2577c50b1f496bd6a5e8739e55ae7b1c and
replaces it with one that actually works.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

+3 -14
-8
arch/i386/kernel/nmi.c
··· 245 245 unsigned int *prev_nmi_count; 246 246 int cpu; 247 247 248 - /* Enable NMI watchdog for newer systems. 249 - Probably safe on most older systems too, but let's be careful. 250 - IBM ThinkPads use INT10 inside SMM and that allows early NMI inside SMM 251 - which hangs the system. Disable watchdog for all thinkpads */ 252 - if (nmi_watchdog == NMI_DEFAULT && dmi_get_year(DMI_BIOS_DATE) >= 2004 && 253 - !dmi_name_in_vendors("ThinkPad")) 254 - nmi_watchdog = NMI_LOCAL_APIC; 255 - 256 248 if ((nmi_watchdog == NMI_NONE) || (nmi_watchdog == NMI_DEFAULT)) 257 249 return 0; 258 250
+1 -4
arch/x86_64/kernel/nmi.c
··· 187 187 { 188 188 if (nmi_watchdog != NMI_DEFAULT) 189 189 return; 190 - if (nmi_known_cpu()) 191 - nmi_watchdog = NMI_LOCAL_APIC; 192 - else 193 - nmi_watchdog = NMI_IO_APIC; 190 + nmi_watchdog = NMI_NONE; 194 191 } 195 192 196 193 static int endflag __initdata = 0;
+1 -1
include/asm-i386/nmi.h
··· 33 33 34 34 extern atomic_t nmi_active; 35 35 extern unsigned int nmi_watchdog; 36 - #define NMI_DEFAULT 0 36 + #define NMI_DEFAULT -1 37 37 #define NMI_NONE 0 38 38 #define NMI_IO_APIC 1 39 39 #define NMI_LOCAL_APIC 2
+1 -1
include/asm-x86_64/nmi.h
··· 64 64 65 65 extern atomic_t nmi_active; 66 66 extern unsigned int nmi_watchdog; 67 - #define NMI_DEFAULT 0 67 + #define NMI_DEFAULT -1 68 68 #define NMI_NONE 0 69 69 #define NMI_IO_APIC 1 70 70 #define NMI_LOCAL_APIC 2