[PATCH] sched: remove on runqueue requeueing

From: Con Kolivas
Date: Wed Feb 15 2006 - 06:40:05 EST


Andrew please apply. Thanks Mike.

Cheers,
Con
---
On runqueue time is used to elevate priority in schedule().

In the code it currently requeues tasks even if their priority is not
elevated, which would end up placing them at the end of their runqueue
array effectively delaying them instead of improving their priority.

Bug spotted by Mike Galbraith <efault@xxxxxx>

This patch removes this requeueing.

Signed-off-by: Con Kolivas <kernel@xxxxxxxxxxx>

kernel/sched.c | 3 +--
1 files changed, 1 insertion(+), 2 deletions(-)

Index: linux-2.6.16-rc3-mm1/kernel/sched.c
===================================================================
--- linux-2.6.16-rc3-mm1.orig/kernel/sched.c 2006-02-15 22:29:15.000000000 +1100
+++ linux-2.6.16-rc3-mm1/kernel/sched.c 2006-02-15 22:32:20.000000000 +1100
@@ -3107,8 +3107,7 @@ go_idle:
dequeue_task(next, array);
next->prio = new_prio;
enqueue_task(next, array);
- } else
- requeue_task(next, array);
+ }
}
next->sleep_type = SLEEP_NORMAL;
switch_tasks:
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/