[patch 2.6.18-rc5] Make touch_nmi_watchdog fall back to touch_softlockup_watchdog

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Some architectures define their own touch_nmi_watchdog and these all
include a call to touch_softlockup_watchdog.  Change all architectures
so touch_nmi_watchdog includes a call to touch_softlockup_watchdog, to
get a consistent soft watchdog state.

Also take the opportunity to kill ARCH_HAS_NMI_WATCHDOG.

Signed-off-by: Keith Owens <[email protected]>

---
 include/asm-i386/irq.h   |    2 +-
 include/asm-x86_64/irq.h |    2 +-
 include/linux/nmi.h      |    8 +++++---
 3 files changed, 7 insertions(+), 5 deletions(-)

Index: linux/include/asm-i386/irq.h
===================================================================
--- linux.orig/include/asm-i386/irq.h
+++ linux/include/asm-i386/irq.h
@@ -21,7 +21,7 @@ static __inline__ int irq_canonicalize(i
 }
 
 #ifdef CONFIG_X86_LOCAL_APIC
-# define ARCH_HAS_NMI_WATCHDOG		/* See include/linux/nmi.h */
+# define touch_nmi_watchdog touch_nmi_watchdog
 #endif
 
 #ifdef CONFIG_4KSTACKS
Index: linux/include/asm-x86_64/irq.h
===================================================================
--- linux.orig/include/asm-x86_64/irq.h
+++ linux/include/asm-x86_64/irq.h
@@ -45,7 +45,7 @@ static __inline__ int irq_canonicalize(i
 }
 
 #ifdef CONFIG_X86_LOCAL_APIC
-#define ARCH_HAS_NMI_WATCHDOG		/* See include/linux/nmi.h */
+# define touch_nmi_watchdog touch_nmi_watchdog
 #endif
 
 #ifdef CONFIG_HOTPLUG_CPU
Index: linux/include/linux/nmi.h
===================================================================
--- linux.orig/include/linux/nmi.h
+++ linux/include/linux/nmi.h
@@ -11,12 +11,14 @@
  * 
  * If the architecture supports the NMI watchdog, touch_nmi_watchdog()
  * may be used to reset the timeout - for code which intentionally
- * disables interrupts for a long time. This call is stateless.
+ * disables interrupts for a long time. This call is stateless.  For other
+ * architectures, fall back to touch_softlockup_watchdog, which may itself be a
+ * no-op.
  */
-#ifdef ARCH_HAS_NMI_WATCHDOG
+#ifdef touch_nmi_watchdog
 extern void touch_nmi_watchdog(void);
 #else
-# define touch_nmi_watchdog() do { } while(0)
+# define touch_nmi_watchdog() touch_softlockup_watchdog()
 #endif
 
 #endif

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux