aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohannes Weiner <hannes@saeurebad.de>2008-07-01 03:12:04 -0400
committerIngo Molnar <mingo@elte.hu>2008-07-01 03:22:49 -0400
commit3e2f69fdd1b00166e7d589bce56b2d36a9e74374 (patch)
tree005f716dfaf10d91a917a42bfbce3d0b05aec32e
parentdd7a1e5615b1719c0fdffee1ea5a7820ac8141a6 (diff)
softlockup: fix watchdog task wakeup frequency
The print_timestamp can never be bigger than the touch_timestamp, at maximum it can be equal. And if it is, the second check for touch_timestamp + 1 bigger print_timestamp is always true, too. The check for equality is sufficient as we proceed in one-second-steps and are at least one second away from the last print-out if we have another timestamp. Signed-off-by: Johannes Weiner <hannes@saeurebad.de> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r--kernel/softlockup.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/kernel/softlockup.c b/kernel/softlockup.c
index d53ab702a7db..7bd8d1aadd5d 100644
--- a/kernel/softlockup.c
+++ b/kernel/softlockup.c
@@ -116,11 +116,8 @@ void softlockup_tick(void)
116 print_timestamp = per_cpu(print_timestamp, this_cpu); 116 print_timestamp = per_cpu(print_timestamp, this_cpu);
117 117
118 /* report at most once a second */ 118 /* report at most once a second */
119 if ((print_timestamp >= touch_timestamp && 119 if (print_timestamp == touch_timestamp || did_panic)
120 print_timestamp < (touch_timestamp + 1)) ||
121 did_panic) {
122 return; 120 return;
123 }
124 121
125 /* do not print during early bootup: */ 122 /* do not print during early bootup: */
126 if (unlikely(system_state != SYSTEM_RUNNING)) { 123 if (unlikely(system_state != SYSTEM_RUNNING)) {