aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDmitry Adamushko <dmitry.adamushko@gmail.com>2007-11-15 14:57:40 -0500
committerIngo Molnar <mingo@elte.hu>2007-11-15 14:57:40 -0500
commit94bc9a7bd97efdda4dfbe61d0df32ce19d41c0a9 (patch)
treeac684740f71e1e6dcfbb70b3d466c952f8f4072e
parentce96b5ac742801718ae86d2adf0500c5abef3782 (diff)
sched: remove activate_idle_task()
cpu_down() code is ok wrt sched_idle_next() placing the 'idle' task not at the beginning of the queue. So get rid of activate_idle_task() and make use of activate_task() instead. It is the same as activate_task(), except for the update_rq_clock(rq) call that is redundant. Code size goes down: text data bss dec hex filename 47853 3934 336 52123 cb9b sched.o.before 47828 3934 336 52098 cb82 sched.o.after Signed-off-by: Dmitry Adamushko <dmitry.adamushko@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r--kernel/sched.c22
1 files changed, 4 insertions, 18 deletions
diff --git a/kernel/sched.c b/kernel/sched.c
index db1f71e31310..cc8cb6f7d82e 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -5282,23 +5282,9 @@ static void migrate_live_tasks(int src_cpu)
5282} 5282}
5283 5283
5284/* 5284/*
5285 * activate_idle_task - move idle task to the _front_ of runqueue.
5286 */
5287static void activate_idle_task(struct task_struct *p, struct rq *rq)
5288{
5289 update_rq_clock(rq);
5290
5291 if (p->state == TASK_UNINTERRUPTIBLE)
5292 rq->nr_uninterruptible--;
5293
5294 enqueue_task(rq, p, 0);
5295 inc_nr_running(p, rq);
5296}
5297
5298/*
5299 * Schedules idle task to be the next runnable task on current CPU. 5285 * Schedules idle task to be the next runnable task on current CPU.
5300 * It does so by boosting its priority to highest possible and adding it to 5286 * It does so by boosting its priority to highest possible.
5301 * the _front_ of the runqueue. Used by CPU offline code. 5287 * Used by CPU offline code.
5302 */ 5288 */
5303void sched_idle_next(void) 5289void sched_idle_next(void)
5304{ 5290{
@@ -5318,8 +5304,8 @@ void sched_idle_next(void)
5318 5304
5319 __setscheduler(rq, p, SCHED_FIFO, MAX_RT_PRIO-1); 5305 __setscheduler(rq, p, SCHED_FIFO, MAX_RT_PRIO-1);
5320 5306
5321 /* Add idle task to the _front_ of its priority queue: */ 5307 update_rq_clock(rq);
5322 activate_idle_task(p, rq); 5308 activate_task(rq, p, 0);
5323 5309
5324 spin_unlock_irqrestore(&rq->lock, flags); 5310 spin_unlock_irqrestore(&rq->lock, flags);
5325} 5311}