ia64/xen-unstable

changeset 1997:b335c27e9978

bitkeeper revision 1.1108.41.1 (410a2d7a8Vn9rr5fmDlV15Z77R97-Q)

Minor fix to BVT. When a domain migrates between CPUs its AVT must always be updated.
author gm281@boulderdash.cl.cam.ac.uk
date Fri Jul 30 11:14:02 2004 +0000 (2004-07-30)
parents 541e28a374a6
children f0e72440d964
files xen/common/sched_bvt.c
line diff
     1.1 --- a/xen/common/sched_bvt.c	Thu Jul 29 16:59:25 2004 +0000
     1.2 +++ b/xen/common/sched_bvt.c	Fri Jul 30 11:14:02 2004 +0000
     1.3 @@ -208,8 +208,10 @@ void bvt_wake(struct domain *d)
     1.4  
     1.5      now = NOW();
     1.6  
     1.7 -    /* Set the BVT parameters. */
     1.8 -    if ( inf->avt < CPU_SVT(cpu) )
     1.9 +    /* Set the BVT parameters. AVT should always be updated 
    1.10 +        if CPU migration ocurred.*/
    1.11 +    if ( inf->avt < CPU_SVT(cpu) || 
    1.12 +            unlikely(test_bit(DF_MIGRATED, &d->flags)) )
    1.13          inf->avt = CPU_SVT(cpu);
    1.14  
    1.15      /* Deal with warping here. */
    1.16 @@ -227,7 +229,6 @@ void bvt_wake(struct domain *d)
    1.17      min_time = curr->lastschd + curr->min_slice;
    1.18  
    1.19      spin_unlock_irqrestore(&schedule_data[cpu].schedule_lock, flags);   
    1.20 -   
    1.21      if ( is_idle_task(curr) || (min_time <= now) )
    1.22          cpu_raise_softirq(cpu, SCHEDULE_SOFTIRQ);
    1.23      else if ( schedule_data[cpu].s_timer.expires > (min_time + TIME_SLOP) )