Re: [PATCH for review] [13/145] x86_64: Add abilty to enable/disablenmi watchdog with sysctl
From: Oleg Verych
Date: Thu Aug 10 2006 - 17:45:53 EST
Andi Kleen wrote:
r
From: dzickus <dzickus@xxxxxxxxxx>
Adds a new /proc/sys/kernel/nmi call that will enable/disable the nmi
watchdog.
Signed-off-by: Don Zickus <dzickus@xxxxxxxxxx>
Signed-off-by: Andi Kleen <ak@xxxxxxx>
---
arch/i386/kernel/nmi.c | 52 +++++++++++++++++++++++++++++++++++++++++++++++
arch/x86_64/kernel/nmi.c | 48 +++++++++++++++++++++++++++++++++++++++++++
include/asm-i386/nmi.h | 1
include/asm-x86_64/nmi.h | 1
include/linux/sysctl.h | 1
kernel/sysctl.c | 11 +++++++++
6 files changed, 114 insertions(+)
Hallo, Andi Kleen.
I'm a kernelnewbie, so any *answer* to this will be very appreciated.
Files 'nmi.c' from both archs don't match, obviously. But lets see, how.
cd /tmp/
diff -purN /tmp/ia32.c /tmp/amd64.c
--- /tmp/ia32.c 2006-08-10 21:12:19.292953750 +0200
+++ /tmp/amd64.c 2006-08-10 21:11:49.503092000 +0200
@@ -10,16 +10,12 @@
+ return 0;
+
+ if (atomic_read(&nmi_active) < 0) {
-+ printk(KERN_WARNING "NMI watchdog is permanently disabled\n");
++ printk( KERN_WARNING "NMI watchdog is permanently disabled\n");
+ return -EINVAL;
Something is wrong;
-+ if (nmi_watchdog == NMI_DEFAULT) {
-+ if (nmi_known_cpu() > 0)
-+ nmi_watchdog = NMI_LOCAL_APIC;
-+ else
-+ nmi_watchdog = NMI_IO_APIC;
-+ }
++ /* if nmi_watchdog is not set yet, then set it */
++ nmi_watchdog_default();
i don't know about nmi, but please drop a word why this is different in both files;
+
+ if (nmi_watchdog == NMI_LOCAL_APIC)
+ {
@@ -32,7 +28,7 @@
+ * for some reason these functions don't work
+ */
+ printk("Can not enable/disable NMI on IO APIC\n");
-+ return -EINVAL;
++ return -EIO;
and this;
+#if 0
+ if (nmi_watchdog_enabled)
+ enable_timer_nmi_watchdog();
@@ -40,7 +36,7 @@
+ disable_timer_nmi_watchdog();
+#endif
+ } else {
-+ printk( KERN_WARNING
++ printk(KERN_WARNING
dup.
+ "NMI watchdog doesn't know what hardware to touch\n");
+ return -EIO;
+ }
Maybe this must be one file for both archs ?
Thanks.
--
-o--=O`C
#oo'L O
<___=E M
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/