bitkeeper revision 1.924 (40bbb502xR03c4VC3QbKW-RZeIrXzg)
authoriap10@labyrinth.cl.cam.ac.uk <iap10@labyrinth.cl.cam.ac.uk>
Mon, 31 May 2004 22:43:14 +0000 (22:43 +0000)
committeriap10@labyrinth.cl.cam.ac.uk <iap10@labyrinth.cl.cam.ac.uk>
Mon, 31 May 2004 22:43:14 +0000 (22:43 +0000)
Cset exclude: mwilli2@equilibrium.research.intel-research.net|ChangeSet|20040521100822|20051

xen/common/sched_bvt.c
xen/common/schedule.c

index a3ac2c80bc2c0220ac768d65bb2629c3daec9c51..a4b76b42f5d20c37f098d3d9be3daceb26a04b9d 100644 (file)
@@ -170,7 +170,6 @@ 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. */
@@ -277,8 +276,7 @@ static task_slice_t bvt_do_schedule(s_time_t now)
         
         __calc_evt(prev_inf);
         
-        if( __task_on_runqueue(prev))
-                       __del_from_runqueue(prev);
+        __del_from_runqueue(prev);
         
         if ( likely(prev->state == TASK_RUNNING) )
             __add_to_runqueue_tail(prev);
index 6fbaf56a9ae0f0d85cb7dd503af742c765c591aa..b5e4219d6c627031d93ecd6ad32d873fdc512c9d 100644 (file)
@@ -224,7 +224,6 @@ long do_block(void)
     ASSERT(current->domain != IDLE_DOMAIN_ID);
     current->shared_info->vcpu_data[0].evtchn_upcall_mask = 0;
     current->state = TASK_INTERRUPTIBLE;
-    SCHED_OP(do_block, current);
     TRACE_2D(TRC_SCHED_BLOCK, current->domain, current);
     __enter_scheduler();
     return 0;
@@ -462,10 +461,9 @@ asmlinkage void __enter_scheduler(void)
     {
         /* this check is needed to avoid a race condition */
         if ( signal_pending(prev) )
-        {
             prev->state = TASK_RUNNING;
-            SCHED_OP(wake_up, prev);
-        }
+        else
+            SCHED_OP(do_block, prev);
     }
 
     prev->cpu_time += now - prev->lastschd;