Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6ebf622b2577c50b1f496bd6a5e8739e55ae7b1c
Commit:     6ebf622b2577c50b1f496bd6a5e8739e55ae7b1c
Parent:     0d05ad2c09af9fb33ae76f9f8d1c4e4d1a9de92c
Author:     Ingo Molnar <[EMAIL PROTECTED]>
AuthorDate: Mon Mar 5 13:20:11 2007 +0100
Committer:  Linus Torvalds <[EMAIL PROTECTED]>
CommitDate: Mon Mar 5 08:23:51 2007 -0800

    [PATCH] disable NMI watchdog by default
    
    there's a new NMI watchdog related problem: KVM crashes on certain
    bzImages because ... we enable the NMI watchdog by default (even if the
    user does not ask for it) , and no other OS on this planet does that so
    KVM doesnt have emulation for that yet. So KVM injects a #GP, which
    crashes the Linux guest:
    
     general protection fault: 0000 [#1]
     PREEMPT SMP
     Modules linked in:
     CPU:    0
     EIP:    0060:[<c011a8ae>]    Not tainted VLI
     EFLAGS: 00000246   (2.6.20-rc5-rt0 #3)
     EIP is at setup_apic_nmi_watchdog+0x26d/0x3d3
    
    and no, i did /not/ request an nmi_watchdog on the boot command line!
    
    Solution: turn off that darn thing! It's a debug tool, not a 'make life
    harder' tool!!
    
    with this patch the KVM guest boots up just fine.
    
    And with this my laptop (Lenovo T60) also stopped its sporadic hard
    hanging (sometimes in acpi_init(), sometimes later during bootup,
    sometimes much later during actual use) as well. It hung with both
    nmi_watchdog=1 and nmi_watchdog=2, so it's generally the fact of NMI
    injection that is causing problems, not the NMI watchdog variant, nor
    any particular bootup code.
    
    [ NMI breaks on some systems, esp in combination with SMM -Arjan ]
    
    Signed-off-by: Ingo Molnar <[EMAIL PROTECTED]>
    Acked-by: Arjan van de Ven <[EMAIL PROTECTED]>
    Signed-off-by: Linus Torvalds <[EMAIL PROTECTED]>
---
 include/asm-i386/nmi.h   |    2 +-
 include/asm-x86_64/nmi.h |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/include/asm-i386/nmi.h b/include/asm-i386/nmi.h
index b04333e..64544cb 100644
--- a/include/asm-i386/nmi.h
+++ b/include/asm-i386/nmi.h
@@ -33,7 +33,7 @@ extern int nmi_watchdog_tick (struct pt_regs * regs, unsigned 
reason);
 
 extern atomic_t nmi_active;
 extern unsigned int nmi_watchdog;
-#define NMI_DEFAULT     -1
+#define NMI_DEFAULT     0
 #define NMI_NONE       0
 #define NMI_IO_APIC    1
 #define NMI_LOCAL_APIC 2
diff --git a/include/asm-x86_64/nmi.h b/include/asm-x86_64/nmi.h
index 72375e7..ceb3d8d 100644
--- a/include/asm-x86_64/nmi.h
+++ b/include/asm-x86_64/nmi.h
@@ -64,7 +64,7 @@ extern int setup_nmi_watchdog(char *);
 
 extern atomic_t nmi_active;
 extern unsigned int nmi_watchdog;
-#define NMI_DEFAULT    -1
+#define NMI_DEFAULT    0
 #define NMI_NONE       0
 #define NMI_IO_APIC    1
 #define NMI_LOCAL_APIC 2
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to