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)) { |
