aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/softlockup.c
diff options
context:
space:
mode:
authorJohannes Weiner <hannes@saeurebad.de>2008-06-27 09:07:21 -0400
committerIngo Molnar <mingo@elte.hu>2008-06-30 09:03:08 -0400
commitdd7a1e5615b1719c0fdffee1ea5a7820ac8141a6 (patch)
treeeecc48d905d53ee4e8b71cb2b88c0651c76922a4 /kernel/softlockup.c
parent8d5be7f4e8515af461cbc8f07687ccc81507d508 (diff)
softlockup: fix watchdog task wakeup frequency
Updating the timestamp more often is pointless as we print the warnings only if we exceed the threshold. And the check for hung tasks relies on the last timestamp, so it will keep working correctly, too. Signed-off-by: Johannes Weiner <hannes@saeurebad.de> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel/softlockup.c')
-rw-r--r--kernel/softlockup.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/kernel/softlockup.c b/kernel/softlockup.c
index 97977ecc3171..d53ab702a7db 100644
--- a/kernel/softlockup.c
+++ b/kernel/softlockup.c
@@ -130,8 +130,11 @@ void softlockup_tick(void)
130 130
131 now = get_timestamp(this_cpu); 131 now = get_timestamp(this_cpu);
132 132
133 /* Wake up the high-prio watchdog task every second: */ 133 /*
134 if (now > (touch_timestamp + 1)) 134 * Wake up the high-prio watchdog task twice per
135 * threshold timespan.
136 */
137 if (now > touch_timestamp + softlockup_thresh/2)
135 wake_up_process(per_cpu(watchdog_task, this_cpu)); 138 wake_up_process(per_cpu(watchdog_task, this_cpu));
136 139
137 /* Warn about unreasonable delays: */ 140 /* Warn about unreasonable delays: */