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>
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 |