ia64/xen-unstable

annotate patches/linux-2.6.16.13/fix-hz-suspend.patch @ 11154:bb37d167c82e

[XEND] xc_save/xc_restore open the libxc interface independently
of their parent. This is required now that the interface fd is
marked for close-on-exec.
Signed-off-by: Keir Fraser <keir@xensource.com>
author kfraser@localhost.localdomain
date Tue Aug 15 19:04:43 2006 +0100 (2006-08-15)
parents 18f8dde91fbd
children
rev   line source
ack@10587 1 diff -pruN ../pristine-linux-2.6.16.13/kernel/timer.c ./kernel/timer.c
ack@10599 2 --- ../pristine-linux-2.6.16.13/kernel/timer.c 2006-05-02 22:38:44.000000000 +0100
ack@10599 3 +++ ./kernel/timer.c 2006-06-29 14:34:12.788957720 +0100
ack@10599 4 @@ -555,6 +555,22 @@ found:
ack@10587 5 }
ack@10587 6 spin_unlock(&base->t_base.lock);
ack@10587 7
ack@10587 8 + /*
ack@10599 9 + * It can happen that other CPUs service timer IRQs and increment
ack@10599 10 + * jiffies, but we have not yet got a local timer tick to process
ack@10599 11 + * the timer wheels. In that case, the expiry time can be before
ack@10599 12 + * jiffies, but since the high-resolution timer here is relative to
ack@10599 13 + * jiffies, the default expression when high-resolution timers are
ack@10599 14 + * not active,
ack@10599 15 + *
ack@10599 16 + * time_before(MAX_JIFFY_OFFSET + jiffies, expires)
ack@10599 17 + *
ack@10599 18 + * would falsely evaluate to true. If that is the case, just
ack@10599 19 + * return jiffies so that we can immediately fire the local timer
ack@10587 20 + */
ack@10599 21 + if (time_before(expires, jiffies))
ack@10599 22 + return jiffies;
ack@10599 23 +
ack@10599 24 if (time_before(hr_expires, expires))
ack@10587 25 return hr_expires;
ack@10587 26