Skip to contentSkip to conversation

Make touch_nmi_watchdog fall back to touch_softlockup_watchdog

PATCH New Keith Owens 1 participant 1 message Aug 30, 2006

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Make touch_nmi_watchdog fall back to touch_softlockup_watchdog

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.

---
 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(-)
include/asm-i386/irq.h +1 -1
Index: 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
include/asm-x86_64/irq.h +1 -1
Index: 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
include/linux/nmi.h +5 -3
Index: 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