summaryrefslogtreecommitdiff
path: root/kernel/sched_fair.c
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2010-12-01 16:39:08 +0900
committerPaul Mundt <lethal@linux-sh.org>2010-12-01 16:39:08 +0900
commitfa3c9f3de2504bb09f8ad512f89837751a3eb741 (patch)
tree656df0e4ea62d1c5a45bb7bfd1b4714f4936d63b /kernel/sched_fair.c
parent193006f7e3b1abd42d7a3677b54fa2996461a842 (diff)
parent55661fc1f105ed75852e937bf8ea408270eb0cca (diff)
Merge branch 'sh/cachetlb' into sh-fixes-for-linus
Diffstat (limited to 'kernel/sched_fair.c')
-rw-r--r--kernel/sched_fair.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/kernel/sched_fair.c b/kernel/sched_fair.c
index 52ab113d8bb9..00ebd7686676 100644
--- a/kernel/sched_fair.c
+++ b/kernel/sched_fair.c
@@ -1758,10 +1758,6 @@ static void pull_task(struct rq *src_rq, struct task_struct *p,
set_task_cpu(p, this_cpu);
activate_task(this_rq, p, 0);
check_preempt_curr(this_rq, p, 0);
-
- /* re-arm NEWIDLE balancing when moving tasks */
- src_rq->avg_idle = this_rq->avg_idle = 2*sysctl_sched_migration_cost;
- this_rq->idle_stamp = 0;
}
/*
@@ -3219,8 +3215,10 @@ static void idle_balance(int this_cpu, struct rq *this_rq)
interval = msecs_to_jiffies(sd->balance_interval);
if (time_after(next_balance, sd->last_balance + interval))
next_balance = sd->last_balance + interval;
- if (pulled_task)
+ if (pulled_task) {
+ this_rq->idle_stamp = 0;
break;
+ }
}
raw_spin_lock(&this_rq->lock);