diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2008-09-09 21:38:57 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2008-10-08 19:44:43 -0700 |
commit | 3aafff5cf6ddd4f8cb6df0f9cf268446bbca80ce (patch) | |
tree | 49fa3acff9ee3d03783547b5f70eba1d3a11a6d4 | |
parent | 16ce8d264fc9ecb24e1a5e2351eb3fcc10ac322c (diff) | |
download | lwn-3aafff5cf6ddd4f8cb6df0f9cf268446bbca80ce.tar.gz lwn-3aafff5cf6ddd4f8cb6df0f9cf268446bbca80ce.zip |
clockevents: remove WARN_ON which was used to gather information
commit 61c22c34c6f80a8e89cff5ff717627c54cc14fd4 upstream
The issue of the endless reprogramming loop due to a too small
min_delta_ns was fixed with the previous updates of the clock events
code, but we had no information about the spread of this problem. I
added a WARN_ON to get automated information via kerneloops.org and to
get some direct reports, which allowed me to analyse the affected
machines.
The WARN_ON has served its purpose and would be annoying for a release
kernel. Remove it and just keep the information about the increase of
the min_delta_ns value.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r-- | kernel/time/tick-oneshot.c | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/kernel/time/tick-oneshot.c b/kernel/time/tick-oneshot.c index f3527f04f03c..0737da0d80a4 100644 --- a/kernel/time/tick-oneshot.c +++ b/kernel/time/tick-oneshot.c @@ -43,19 +43,17 @@ int tick_dev_program_event(struct clock_event_device *dev, ktime_t expires, * and emit a warning. */ if (++i > 2) { - printk(KERN_WARNING "CE: __tick_program_event of %s is " - "stuck %llx %llx\n", dev->name ? dev->name : "?", - now.tv64, expires.tv64); - printk(KERN_WARNING - "CE: increasing min_delta_ns %ld to %ld nsec\n", - dev->min_delta_ns, dev->min_delta_ns << 1); - WARN_ON(1); - - /* Double the min. delta and try again */ + /* Increase the min. delta and try again */ if (!dev->min_delta_ns) dev->min_delta_ns = 5000; else - dev->min_delta_ns <<= 1; + dev->min_delta_ns += dev->min_delta_ns >> 1; + + printk(KERN_WARNING + "CE: %s increasing min_delta_ns to %lu nsec\n", + dev->name ? dev->name : "?", + dev->min_delta_ns << 1); + i = 0; } |