aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCon Kolivas <kernel@kolivas.org>2006-03-31 05:31:29 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2006-03-31 15:18:59 -0500
commit7c4bb1f9b3788309e1159961c606ba0bdf7ed382 (patch)
tree47051dcde0cc24ec123e9ae3043465cc677a8c06
parent5138930e6a69f1c7851a82d7cedaa01fad029fcf (diff)
[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 <efault@gmx.de> This patch removes this requeueing. Signed-off-by: Con Kolivas <kernel@kolivas.org> Acked-by: Ingo Molnar <mingo@elte.hu> Cc: Mike Galbraith <efault@gmx.de> Cc: Nick Piggin <nickpiggin@yahoo.com.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--kernel/sched.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/kernel/sched.c b/kernel/sched.c
index 3055fe806ff7..73bb4d9ef989 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -3023,8 +3023,7 @@ go_idle:
3023 dequeue_task(next, array); 3023 dequeue_task(next, array);
3024 next->prio = new_prio; 3024 next->prio = new_prio;
3025 enqueue_task(next, array); 3025 enqueue_task(next, array);
3026 } else 3026 }
3027 requeue_task(next, array);
3028 } 3027 }
3029 next->sleep_type = SLEEP_NORMAL; 3028 next->sleep_type = SLEEP_NORMAL;
3030switch_tasks: 3029switch_tasks: