summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2007-05-23 13:57:37 -0700
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-05-23 20:14:11 -0700
commit352823160613b65fdaa558be486720a71f75ed86 (patch)
tree772f0aa4c31c26f3c762baae41a288b72ce7dee7
parent43d4f961a87509b4ea5c1d6f02751aef360a632f (diff)
downloadlinux-3.10-352823160613b65fdaa558be486720a71f75ed86.tar.gz
linux-3.10-352823160613b65fdaa558be486720a71f75ed86.tar.bz2
linux-3.10-352823160613b65fdaa558be486720a71f75ed86.zip
NOHZ: Rate limit the local softirq pending warning output
The warning in the NOHZ code, which triggers when a CPU goes idle with softirqs pending can fill up the logs quite quickly. Rate limit the output until we found the root cause of that problem. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: <stable@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--kernel/time/tick-sched.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c
index 3483e6cb954..3e7ebc4646b 100644
--- a/kernel/time/tick-sched.c
+++ b/kernel/time/tick-sched.c
@@ -167,9 +167,15 @@ void tick_nohz_stop_sched_tick(void)
goto end;
cpu = smp_processor_id();
- if (unlikely(local_softirq_pending()))
- printk(KERN_ERR "NOHZ: local_softirq_pending %02x\n",
- local_softirq_pending());
+ if (unlikely(local_softirq_pending())) {
+ static int ratelimit;
+
+ if (ratelimit < 10) {
+ printk(KERN_ERR "NOHZ: local_softirq_pending %02x\n",
+ local_softirq_pending());
+ ratelimit++;
+ }
+ }
now = ktime_get();
/*