diff options
author | Dmitry Adamushko <dmitry.adamushko@gmail.com> | 2007-11-15 20:57:40 +0100 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2007-11-15 20:57:40 +0100 |
commit | 94bc9a7bd97efdda4dfbe61d0df32ce19d41c0a9 (patch) | |
tree | ac684740f71e1e6dcfbb70b3d466c952f8f4072e /kernel | |
parent | sched: fix __set_task_cpu() SMP race (diff) | |
download | linux-94bc9a7bd97efdda4dfbe61d0df32ce19d41c0a9.tar.xz linux-94bc9a7bd97efdda4dfbe61d0df32ce19d41c0a9.zip |
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>
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/sched.c | 22 |
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) } /* - * activate_idle_task - move idle task to the _front_ of runqueue. - */ -static void activate_idle_task(struct task_struct *p, struct rq *rq) -{ - update_rq_clock(rq); - - if (p->state == TASK_UNINTERRUPTIBLE) - rq->nr_uninterruptible--; - - enqueue_task(rq, p, 0); - inc_nr_running(p, rq); -} - -/* * Schedules idle task to be the next runnable task on current CPU. - * It does so by boosting its priority to highest possible and adding it to - * the _front_ of the runqueue. Used by CPU offline code. + * It does so by boosting its priority to highest possible. + * Used by CPU offline code. */ void sched_idle_next(void) { @@ -5318,8 +5304,8 @@ void sched_idle_next(void) __setscheduler(rq, p, SCHED_FIFO, MAX_RT_PRIO-1); - /* Add idle task to the _front_ of its priority queue: */ - activate_idle_task(p, rq); + update_rq_clock(rq); + activate_task(rq, p, 0); spin_unlock_irqrestore(&rq->lock, flags); } |