Using a slow serial console with sync_console on SMP leaves an

unusable system: it gets into a flood of

Timer ISR/0: Time went backwards: delta=-3566279 cpu_delta=16433721
shadow=2019998373 off=420435384 processed=2444000000
cpu_processed=2424000000
 0: 2424000000
 1: 2444000000

messages which swamps the console and leaves things almost, but not
quite, completely hung.  It is a simple matter to ratelimit these
printks, which completely eliminates the problem.
This commit is contained in:
kaf24@firebug.cl.cam.ac.uk committed 2005-12-03 10:44:01 +01:00
1 parent ffa06621c6
commit 25df6829eb
1 file changed
+2 -1
@@ -560,7 +560,8 @@ irqreturn_t timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
}
while (!time_values_up_to_date(cpu));
if (unlikely(delta < -1000000LL) || unlikely(delta_cpu < 0)) {
if ((unlikely(delta < -1000000LL) || unlikely(delta_cpu < 0))
&& printk_ratelimit()) {
printk("Timer ISR/%d: Time went backwards: "
"delta=%lld cpu_delta=%lld shadow=%lld "
"off=%lld processed=%lld cpu_processed=%lld\n",
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.