aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--kernel/sched/fair.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index 051903f33eec..28ccf502c63c 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -6713,7 +6713,6 @@ static int idle_balance(struct rq *this_rq)
6713 if (sd->flags & SD_BALANCE_NEWIDLE) { 6713 if (sd->flags & SD_BALANCE_NEWIDLE) {
6714 t0 = sched_clock_cpu(this_cpu); 6714 t0 = sched_clock_cpu(this_cpu);
6715 6715
6716 /* If we've pulled tasks over stop searching: */
6717 pulled_task = load_balance(this_cpu, this_rq, 6716 pulled_task = load_balance(this_cpu, this_rq,
6718 sd, CPU_NEWLY_IDLE, 6717 sd, CPU_NEWLY_IDLE,
6719 &continue_balancing); 6718 &continue_balancing);
@@ -6728,7 +6727,12 @@ static int idle_balance(struct rq *this_rq)
6728 interval = msecs_to_jiffies(sd->balance_interval); 6727 interval = msecs_to_jiffies(sd->balance_interval);
6729 if (time_after(next_balance, sd->last_balance + interval)) 6728 if (time_after(next_balance, sd->last_balance + interval))
6730 next_balance = sd->last_balance + interval; 6729 next_balance = sd->last_balance + interval;
6731 if (pulled_task) 6730
6731 /*
6732 * Stop searching for tasks to pull if there are
6733 * now runnable tasks on this rq.
6734 */
6735 if (pulled_task || this_rq->nr_running > 0)
6732 break; 6736 break;
6733 } 6737 }
6734 rcu_read_unlock(); 6738 rcu_read_unlock();