[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20070906145954.1E47514EE9@wotan.suse.de>
Date: Thu, 6 Sep 2007 16:59:54 +0200 (CEST)
From: Andi Kleen <ak@...e.de>
To: dwalker@...sta.com, patches@...-64.org,
linux-kernel@...r.kernel.org, torvalds@...l.org
Subject: [PATCH for 2.6.23] [3/3] i386: fix a hang on stuck nmi watchdog
From: Daniel Walker <dwalker@...sta.com>
In the case when an nmi gets stucks the endflag stays equal to zero. This
causes the busy looping on other cpus to continue, even tho the nmi test
is done.
On my machine with out the change below the system would hang right after
check_nmi_watchdog(). The change below just sets endflag prior to checking
if the test was successful or not.
Signed-off-by: Daniel Walker <dwalker@...sta.com>
Signed-off-by: Andi Kleen <ak@...e.de>
---
arch/i386/kernel/nmi.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: linux/arch/i386/kernel/nmi.c
===================================================================
--- linux.orig/arch/i386/kernel/nmi.c
+++ linux/arch/i386/kernel/nmi.c
@@ -115,12 +115,12 @@ static int __init check_nmi_watchdog(voi
atomic_dec(&nmi_active);
}
}
+ endflag = 1;
if (!atomic_read(&nmi_active)) {
kfree(prev_nmi_count);
atomic_set(&nmi_active, -1);
return -1;
}
- endflag = 1;
printk("OK.\n");
/* now that we know it works we can reduce NMI frequency to
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists