Re: [PATCH 2/6] [watchdog] convert touch_softlockup_watchdog to touch_watchdog

Frederic Weisbecker
2010-04-21T20:45:57Z

On Tue, Apr 20, 2010 at 11:23:59AM -0400, Don Zickus wrote:
> Just a scripted conversion to remove touch_softlockup_watchdog.
>
> Also converts the once case of touch_all_softlockup_watchdogs to
> touch_all_watchdogs.
>
> This is done as part of the removal of the old softlockup code and
> transition to the new softlockup code.
>
> Signed-off-by: Don Zickus <dzickus@redhat.com>

In fact I worry a bit about this unification of watchdog touching.
When we touch the softlockup watchdog, do we also want to touch
the nmi watchdog?

Most of the time, I think we don't want to. We usually touch the
softlockup detector because we know we are abnormally delaying
the softlockup kthread from being scheduled, and if we are in such
situation, it means we are doing something in a sensitive context:
typically the kind of context favorable to create hardlockups...

But the opposite is right: if we touch the nmi watchdog: it means we
are abnormally delaying irqs, which means we also are abnormally
delaying the softlockup kthread from being scheduled, so if we
touch the nmi watchdog, we also want to touch the softlockup
detector.

Hence I guess we want to keep the current state:

- touch_nmi_watchdog() = touch softlockup and nmi watchdogs
- touch_softlockup_watchdog() = only touch softlockup watchdog