diff options
author | Johannes Weiner <hannes@saeurebad.de> | 2008-07-01 03:12:04 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-07-01 03:22:49 -0400 |
commit | 3e2f69fdd1b00166e7d589bce56b2d36a9e74374 (patch) | |
tree | 005f716dfaf10d91a917a42bfbce3d0b05aec32e | |
parent | dd7a1e5615b1719c0fdffee1ea5a7820ac8141a6 (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.c | 5 |
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)) { |