diff options
author | iap10@labyrinth.cl.cam.ac.uk <iap10@labyrinth.cl.cam.ac.uk> | 2004-05-31 22:43:14 +0000 |
---|---|---|
committer | iap10@labyrinth.cl.cam.ac.uk <iap10@labyrinth.cl.cam.ac.uk> | 2004-05-31 22:43:14 +0000 |
commit | ec52a9cf62bf69bfa0a751ca60ff6f44471e2fab (patch) | |
tree | 19366d6b7c0fd56ec04357e5e0c3b7864e6af1f1 /xen | |
parent | f8f33ce162f35162e658c73bb28d5e507ce2678f (diff) | |
download | xen-ec52a9cf62bf69bfa0a751ca60ff6f44471e2fab.tar.gz xen-ec52a9cf62bf69bfa0a751ca60ff6f44471e2fab.tar.bz2 xen-ec52a9cf62bf69bfa0a751ca60ff6f44471e2fab.zip |
bitkeeper revision 1.924 (40bbb502xR03c4VC3QbKW-RZeIrXzg)
Cset exclude: mwilli2@equilibrium.research.intel-research.net|ChangeSet|20040521100822|20051
Diffstat (limited to 'xen')
-rw-r--r-- | xen/common/sched_bvt.c | 4 | ||||
-rw-r--r-- | xen/common/schedule.c | 6 |
2 files changed, 3 insertions, 7 deletions
diff --git a/xen/common/sched_bvt.c b/xen/common/sched_bvt.c index a3ac2c80bc..a4b76b42f5 100644 --- a/xen/common/sched_bvt.c +++ b/xen/common/sched_bvt.c @@ -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); diff --git a/xen/common/schedule.c b/xen/common/schedule.c index 6fbaf56a9a..b5e4219d6c 100644 --- a/xen/common/schedule.c +++ b/xen/common/schedule.c @@ -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; |