mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 18:50:05 +01:00
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:
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",
|
||||
|
||||