--- linux-2.6.0-test11-A5/kernel/sched.c 2003-12-05 13:27:03.540451040 +1100 +++ linux-2.6.0-test11-ht1/kernel/sched.c 2003-12-05 13:32:59.692375769 +1100 @@ -677,9 +677,6 @@ static void wake_up_cpu(runqueue_t *rq, if (p->prio < cpu_curr_ptr(cpu)->prio) return resched_task(cpu_curr_ptr(cpu)); - if (p->prio == cpu_curr_ptr(cpu)->prio && - p->time_slice > cpu_curr_ptr(cpu)->time_slice) - return resched_task(cpu_curr_ptr(cpu)); for_each_sibling(idx, rq) { curr_cpu = rq->cpu + idx; @@ -688,8 +685,6 @@ static void wake_up_cpu(runqueue_t *rq, curr = curr_cpu->curr; if (p->prio < curr->prio) return resched_task(curr); - if (p->prio == curr->prio && p->time_slice > curr->time_slice) - return resched_task(curr); } }