ia64/xen-unstable

changeset 8206:5ff5117291ad

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.
author kaf24@firebug.cl.cam.ac.uk
date Sat Dec 03 10:44:01 2005 +0100 (2005-12-03)
parents 5e617fd48504
children 2dcfb85f5bac
files linux-2.6-xen-sparse/arch/xen/i386/kernel/time.c
line diff
     1.1 --- a/linux-2.6-xen-sparse/arch/xen/i386/kernel/time.c	Sat Dec 03 00:51:36 2005 +0000
     1.2 +++ b/linux-2.6-xen-sparse/arch/xen/i386/kernel/time.c	Sat Dec 03 10:44:01 2005 +0100
     1.3 @@ -560,7 +560,8 @@ irqreturn_t timer_interrupt(int irq, voi
     1.4  	}
     1.5  	while (!time_values_up_to_date(cpu));
     1.6  
     1.7 -	if (unlikely(delta < -1000000LL) || unlikely(delta_cpu < 0)) {
     1.8 +	if ((unlikely(delta < -1000000LL) || unlikely(delta_cpu < 0))
     1.9 +	    && printk_ratelimit()) {
    1.10  		printk("Timer ISR/%d: Time went backwards: "
    1.11  		       "delta=%lld cpu_delta=%lld shadow=%lld "
    1.12  		       "off=%lld processed=%lld cpu_processed=%lld\n",