From: Ingo Molnar the patch below adds a touch_softlockup_watchdog() call to every touch_nmi_watchdog() call. [A future consolidation patch should introduce a touch_watchdogs() call that will do both a touch_nmi_watchdog() [if available on the platform] and a touch_softlockup_watchdog() call.] Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton --- arch/i386/kernel/nmi.c | 5 +++++ arch/x86_64/kernel/nmi.c | 2 ++ 2 files changed, 7 insertions(+) diff -puN arch/i386/kernel/nmi.c~detect-soft-lockups-from-touch_nmi_watchdog arch/i386/kernel/nmi.c --- 25/arch/i386/kernel/nmi.c~detect-soft-lockups-from-touch_nmi_watchdog 2005-05-13 23:12:40.000000000 -0700 +++ 25-akpm/arch/i386/kernel/nmi.c 2005-05-13 23:12:40.000000000 -0700 @@ -478,6 +478,11 @@ void touch_nmi_watchdog (void) */ for (i = 0; i < NR_CPUS; i++) alert_counter[i] = 0; + + /* + * Tickle the softlockup detector too: + */ + touch_softlockup_watchdog(); } extern void die_nmi(struct pt_regs *, const char *msg); diff -puN arch/x86_64/kernel/nmi.c~detect-soft-lockups-from-touch_nmi_watchdog arch/x86_64/kernel/nmi.c --- 25/arch/x86_64/kernel/nmi.c~detect-soft-lockups-from-touch_nmi_watchdog 2005-05-13 23:12:40.000000000 -0700 +++ 25-akpm/arch/x86_64/kernel/nmi.c 2005-05-13 23:13:08.000000000 -0700 @@ -463,6 +463,8 @@ void touch_nmi_watchdog (void) */ for (i = 0; i < NR_CPUS; i++) per_cpu(nmi_touch, i) = 1; + + touch_softlockup_watchdog(); } void nmi_watchdog_tick (struct pt_regs * regs, unsigned reason) _