aboutsummaryrefslogtreecommitdiffstats
path: root/xen
diff options
context:
space:
mode:
authoriap10@labyrinth.cl.cam.ac.uk <iap10@labyrinth.cl.cam.ac.uk>2004-05-31 22:42:33 +0000
committeriap10@labyrinth.cl.cam.ac.uk <iap10@labyrinth.cl.cam.ac.uk>2004-05-31 22:42:33 +0000
commitf8f33ce162f35162e658c73bb28d5e507ce2678f (patch)
treea31f8c33c41b7ba3f66c16fa65b7f9895540c5a6 /xen
parent91be1defc0b51b69f7c1270d4a1cc39b07f0d50c (diff)
downloadxen-f8f33ce162f35162e658c73bb28d5e507ce2678f.tar.gz
xen-f8f33ce162f35162e658c73bb28d5e507ce2678f.tar.bz2
xen-f8f33ce162f35162e658c73bb28d5e507ce2678f.zip
bitkeeper revision 1.923 (40bbb4d9FZ9RTdcMug9rpgdkhyDfQQ)
Cset exclude: kaf24@scramble.cl.cam.ac.uk|ChangeSet|20040531212553|03172
Diffstat (limited to 'xen')
-rw-r--r--xen/common/sched_bvt.c19
1 files changed, 10 insertions, 9 deletions
diff --git a/xen/common/sched_bvt.c b/xen/common/sched_bvt.c
index 776557bf00..a3ac2c80bc 100644
--- a/xen/common/sched_bvt.c
+++ b/xen/common/sched_bvt.c
@@ -170,6 +170,7 @@ void bvt_wake_up(struct task_struct *p)
static void bvt_do_block(struct task_struct *p)
{
BVT_INFO(p)->warpback = 0;
+ __del_from_runqueue(p);
}
/* Control the scheduler. */
@@ -205,10 +206,10 @@ int bvt_adjdom(struct task_struct *p,
struct bvt_dom_info *inf = BVT_INFO(p);
- DPRINTK("Get domain %lld bvt mcu_adv=%ld, warp=%ld, warpl=%ld,"
- " warpu=%ld\n",
- p->domain, inf->mcu_advance, inf->warp,
- inf->warpl, inf->warpu );
+
+ printk("Get domain %lld bvt mcu_adv=%ld, warp=%ld, warpl=%ld, warpu=%ld\n",
+ p->domain, inf->mcu_advance, inf->warp,
+ inf->warpl, inf->warpu );
/* Sanity -- this can avoid divide-by-zero. */
if ( mcu_adv == 0 )
@@ -220,10 +221,9 @@ int bvt_adjdom(struct task_struct *p,
inf->warpl = warpl;
inf->warpu = warpu;
- DPRINTK("Set domain %lld bvt mcu_adv=%ld, warp=%ld, warpl=%ld,"
- " warpu=%ld\n",
- p->domain, inf->mcu_advance, inf->warp,
- inf->warpl, inf->warpu );
+ printk("Set domain %lld bvt mcu_adv=%ld, warp=%ld, warpl=%ld, warpu=%ld\n",
+ p->domain, inf->mcu_advance, inf->warp,
+ inf->warpl, inf->warpu );
spin_unlock_irqrestore(&schedule_lock[p->processor], flags);
}
@@ -277,7 +277,8 @@ static task_slice_t bvt_do_schedule(s_time_t now)
__calc_evt(prev_inf);
- __del_from_runqueue(prev);
+ if( __task_on_runqueue(prev))
+ __del_from_runqueue(prev);
if ( likely(prev->state == TASK_RUNNING) )
__add_to_runqueue_tail(prev);