diff options
-rw-r--r-- | kernel/sched_fair.c | 8 |
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, | |||
1758 | set_task_cpu(p, this_cpu); | 1758 | set_task_cpu(p, this_cpu); |
1759 | activate_task(this_rq, p, 0); | 1759 | activate_task(this_rq, p, 0); |
1760 | check_preempt_curr(this_rq, p, 0); | 1760 | check_preempt_curr(this_rq, p, 0); |
1761 | |||
1762 | /* re-arm NEWIDLE balancing when moving tasks */ | ||
1763 | src_rq->avg_idle = this_rq->avg_idle = 2*sysctl_sched_migration_cost; | ||
1764 | this_rq->idle_stamp = 0; | ||
1765 | } | 1761 | } |
1766 | 1762 | ||
1767 | /* | 1763 | /* |
@@ -3219,8 +3215,10 @@ static void idle_balance(int this_cpu, struct rq *this_rq) | |||
3219 | interval = msecs_to_jiffies(sd->balance_interval); | 3215 | interval = msecs_to_jiffies(sd->balance_interval); |
3220 | if (time_after(next_balance, sd->last_balance + interval)) | 3216 | if (time_after(next_balance, sd->last_balance + interval)) |
3221 | next_balance = sd->last_balance + interval; | 3217 | next_balance = sd->last_balance + interval; |
3222 | if (pulled_task) | 3218 | if (pulled_task) { |
3219 | this_rq->idle_stamp = 0; | ||
3223 | break; | 3220 | break; |
3221 | } | ||
3224 | } | 3222 | } |
3225 | 3223 | ||
3226 | raw_spin_lock(&this_rq->lock); | 3224 | raw_spin_lock(&this_rq->lock); |