watchdog: introduce touch_softlockup_watchdog_sched()
authorTejun Heo <tj@kernel.org>
Tue, 8 Dec 2015 16:28:04 +0000 (11:28 -0500)
committerTejun Heo <tj@kernel.org>
Tue, 8 Dec 2015 16:29:42 +0000 (11:29 -0500)
commit03e0d4610bf4d4a93bfa16b2474ed4fd5243aa71
treed56940ac55c843628383a0f4e90c3dd2871f1d73
parentfca839c00a12d682cb59b3b620d109a1d850b262
watchdog: introduce touch_softlockup_watchdog_sched()

touch_softlockup_watchdog() is used to tell watchdog that scheduler
stall is expected.  One group of usage is from paths where the task
may not be able to yield for a long time such as performing slow PIO
to finicky device and coming out of suspend.  The other is to account
for scheduler and timer going idle.

For scheduler softlockup detection, there's no reason to distinguish
the two cases; however, workqueue lockup detector is planned and it
can use the same signals from the former group while the latter would
spuriously prevent detection.  This patch introduces a new function
touch_softlockup_watchdog_sched() and convert the latter group to call
it instead.  For now, it just calls touch_softlockup_watchdog() and
there's no functional difference.

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Ulrich Obergfell <uobergfe@redhat.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Andrew Morton <akpm@linux-foundation.org>
include/linux/sched.h
kernel/sched/clock.c
kernel/time/tick-sched.c
kernel/watchdog.c