From: Ingo Molnar <mingo@elte.hu>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Andi Kleen <ak@suse.de>,
Andrew Morton <akpm@linux-foundation.org>,
linux-kernel@vger.kernel.org,
Arjan van de Ven <arjan@infradead.org>,
Adrian Bunk <bunk@stusta.de>, Alan Cox <alan@lxorguk.ukuu.org.uk>,
Arjan van de Ven <arjan@infradead.org>
Subject: [patch] disable NMI watchdog by default
Date: Mon, 5 Mar 2007 13:20:11 +0100 [thread overview]
Message-ID: <20070305122011.GA16133@elte.hu> (raw)
Linus,
Andrew sent the patch below (which is now months old and has been in -mm
for some time) towards Andi's tree 4 weeks ago, but apparently it fell
into a black hole there - the patch is still not upstream!
This is a must-have for v2.6.21, because the problem still triggers even
with the latest upstream tree, if i boot a KVM guest.
Frankly, i find it ridiculous that i had to write more than 10 emails
about this stupid topic already, while i'm the original author of this
feature to begin with. The "do not enable by default debug features that
break certain systems" concept is obvious to me.
This category of regressions has been introduced by Andi when he made
the NMI watchdog the default in certain scenarios at around v2.6.18 -
over my repeated objections. Andi Cc:-ed :-)
Ingo
----- Forwarded message from Ingo Molnar <mingo@elte.hu> -----
From: Ingo Molnar <mingo@elte.hu>
Subject: [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.
The patch is unintrusive.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Index: linux/include/asm-i386/nmi.h
===================================================================
--- linux.orig/include/asm-i386/nmi.h
+++ linux/include/asm-i386/nmi.h
@@ -33,7 +33,7 @@ extern int nmi_watchdog_tick (struct pt_
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
Index: linux/include/asm-x86_64/nmi.h
===================================================================
--- linux.orig/include/asm-x86_64/nmi.h
+++ linux/include/asm-x86_64/nmi.h
@@ -63,7 +63,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
next reply other threads:[~2007-03-05 12:28 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-03-05 12:20 Ingo Molnar [this message]
2007-03-05 14:49 ` [patch] disable NMI watchdog by default Arjan van de Ven
2007-03-05 17:42 ` Len Brown
2007-03-05 19:54 ` Andi Kleen
2007-03-05 20:26 ` Ingo Molnar
2007-03-05 20:40 ` Linus Torvalds
2007-03-07 3:06 ` Roland Dreier
2007-03-07 14:56 ` Andi Kleen
-- strict thread matches above, loose matches on Subject: below --
2007-01-14 9:29 Ingo Molnar
2007-01-14 14:45 ` Henrique de Moraes Holschuh
2007-01-14 16:45 ` Arjan van de Ven
2007-03-05 16:02 ` Bill Davidsen
2007-03-08 19:44 ` Avi Kivity
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20070305122011.GA16133@elte.hu \
--to=mingo@elte.hu \
--cc=ak@suse.de \
--cc=akpm@linux-foundation.org \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=arjan@infradead.org \
--cc=bunk@stusta.de \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox