Index: linux-2.6.7-ck/include/linux/sched.h =================================================================== --- linux-2.6.7-ck.orig/include/linux/sched.h 2004-06-27 22:48:01.356733673 +1000 +++ linux-2.6.7-ck/include/linux/sched.h 2004-06-28 01:44:39.561301397 +1000 @@ -559,7 +559,6 @@ #define PF_LESS_THROTTLE 0x00100000 /* Throttle me less: I clean memory */ #define PF_SYNCWRITE 0x00200000 /* I am doing a sync write */ #define PF_FORKED 0x00400000 /* I have just forked */ -#define PF_PREEMPTED 0x00800000 /* I have just been preempted */ #ifdef CONFIG_SMP #define SCHED_LOAD_SCALE 128UL /* increase resolution of load */ Index: linux-2.6.7-ck/kernel/sched.c =================================================================== --- linux-2.6.7-ck.orig/kernel/sched.c 2004-06-27 22:48:03.028467948 +1000 +++ linux-2.6.7-ck/kernel/sched.c 2004-06-28 01:45:25.246851175 +1000 @@ -206,10 +206,8 @@ return 0; if (!compute || rq->cache_ticks >= cache_decay_ticks || rt_task(p) || !p->mm || rq->curr == rq->idle || - (batch_task(rq->curr))) { - rq->curr->flags |= PF_PREEMPTED; + (batch_task(rq->curr))) return 1; - } rq->preempted = 1; return 0; } @@ -231,11 +229,7 @@ static void enqueue_task(struct task_struct *p, runqueue_t *rq) { - if (p->flags & PF_PREEMPTED) { - p->flags &= ~PF_PREEMPTED; - list_add(&p->run_list, rq->queue + p->prio); - } else - list_add_tail(&p->run_list, rq->queue + p->prio); + list_add_tail(&p->run_list, rq->queue + p->prio); __set_bit(p->prio, rq->bitmap); }