bitkeeper revision 1.923 (40bbb4d9FZ9RTdcMug9rpgdkhyDfQQ)
authoriap10@labyrinth.cl.cam.ac.uk <iap10@labyrinth.cl.cam.ac.uk>
Mon, 31 May 2004 22:42:33 +0000 (22:42 +0000)
committeriap10@labyrinth.cl.cam.ac.uk <iap10@labyrinth.cl.cam.ac.uk>
Mon, 31 May 2004 22:42:33 +0000 (22:42 +0000)
Cset exclude: kaf24@scramble.cl.cam.ac.uk|ChangeSet|20040531212553|03172

xen/common/sched_bvt.c

index 776557bf0097930e318f49f48b8484b6a717acd2..a3ac2c80bc2c0220ac768d65bb2629c3daec9c51 100644 (file)
@@ -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);