aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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,
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);