ia64/xen-unstable
changeset 1838:fd7b2f01d894
bitkeeper revision 1.1108.2.9 (40fcf6e9nDj-fZDSmZB0OoBsUd6N4w)
Merge freefall.cl.cam.ac.uk:/auto/groups/xeno/BK/xeno.bk
into freefall.cl.cam.ac.uk:/local/scratch/cl349/xeno.bk-prist
Merge freefall.cl.cam.ac.uk:/auto/groups/xeno/BK/xeno.bk
into freefall.cl.cam.ac.uk:/local/scratch/cl349/xeno.bk-prist
author | cl349@freefall.cl.cam.ac.uk |
---|---|
date | Tue Jul 20 10:41:45 2004 +0000 (2004-07-20) |
parents | ac1a83f52439 6fcb9ee1e130 |
children | 567574707ca9 |
files | linux-2.6.7-xen-sparse/arch/xen/i386/kernel/time.c linux-2.6.7-xen-sparse/arch/xen/kernel/process.c |
line diff
1.1 --- a/linux-2.6.7-xen-sparse/arch/xen/i386/kernel/time.c Tue Jul 20 10:32:39 2004 +0000 1.2 +++ b/linux-2.6.7-xen-sparse/arch/xen/i386/kernel/time.c Tue Jul 20 10:41:45 2004 +0000 1.3 @@ -479,6 +479,7 @@ int set_timeout_timer(void) 1.4 { 1.5 u64 alarm = 0; 1.6 int ret = 0; 1.7 + int cpu = smp_processor_id(); 1.8 1.9 spin_lock(&timerlist_lock); 1.10 1.11 @@ -490,12 +491,6 @@ int set_timeout_timer(void) 1.12 */ 1.13 alarm = __jiffies_to_st(next_timer_interrupt()); 1.14 1.15 -#if 0 1.16 - /* Tasks on the timer task queue expect to be executed on the next tick. */ 1.17 - if ( TQ_ACTIVE(tq_timer) ) 1.18 - alarm = __jiffies_to_st(jiffies + 1); 1.19 -#endif 1.20 - 1.21 /* Failure is pretty bad, but we'd best soldier on. */ 1.22 if ( HYPERVISOR_set_timer_op(alarm) != 0 ) 1.23 ret = -1;
2.1 --- a/linux-2.6.7-xen-sparse/arch/xen/kernel/process.c Tue Jul 20 10:32:39 2004 +0000 2.2 +++ b/linux-2.6.7-xen-sparse/arch/xen/kernel/process.c Tue Jul 20 10:41:45 2004 +0000 2.3 @@ -11,11 +11,11 @@ 2.4 void xen_cpu_idle (void) 2.5 { 2.6 local_irq_disable(); 2.7 - if (need_resched()) { 2.8 + if (need_resched() || !list_empty(&RCU_curlist(cpu))) 2.9 local_irq_enable(); 2.10 return; 2.11 } 2.12 - if (0 && set_timeout_timer() == 0) { 2.13 + if (set_timeout_timer() == 0) { 2.14 /* NB. Blocking reenable events in a race-free manner. */ 2.15 HYPERVISOR_block(); 2.16 return;