From: Con Kolivas Date: Fri, 31 Mar 2006 10:31:29 +0000 (-0800) Subject: [PATCH] sched: remove on runqueue requeueing X-Git-Tag: v2.6.17-rc1~54 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7c4bb1f9b3788309e1159961c606ba0bdf7ed382;p=linux-2.6 [PATCH] sched: remove on runqueue requeueing 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 This patch removes this requeueing. Signed-off-by: Con Kolivas Acked-by: Ingo Molnar Cc: Mike Galbraith Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/kernel/sched.c b/kernel/sched.c index 3055fe806f..73bb4d9ef9 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -3023,8 +3023,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: