From: Con Kolivas It is possible tasks were getting more sleep_avg credit on requeuing than they could burn off while running so I've removed the on runqueue bonus to requeuing task. kernel/sched.c | 6 ------ 1 files changed, 6 deletions(-) diff -puN kernel/sched.c~o18int kernel/sched.c --- 25/kernel/sched.c~o18int 2003-08-23 13:57:48.000000000 -0700 +++ 25-akpm/kernel/sched.c 2003-08-23 13:57:48.000000000 -0700 @@ -1423,12 +1423,6 @@ void scheduler_tick(int user_ticks, int dequeue_task(p, rq->active); set_tsk_need_resched(p); - /* - * Tasks with interactive credit get all their - * time waiting on the run queue credited as sleep - */ - if (HIGH_CREDIT(p)) - p->activated = 2; p->prio = effective_prio(p); enqueue_task(p, rq->active); } _