|
@@ -3215,8 +3215,10 @@ static void idle_balance(int this_cpu, struct rq *this_rq)
|
|
interval = msecs_to_jiffies(sd->balance_interval);
|
|
interval = msecs_to_jiffies(sd->balance_interval);
|
|
if (time_after(next_balance, sd->last_balance + interval))
|
|
if (time_after(next_balance, sd->last_balance + interval))
|
|
next_balance = sd->last_balance + interval;
|
|
next_balance = sd->last_balance + interval;
|
|
- if (pulled_task)
|
|
|
|
|
|
+ if (pulled_task) {
|
|
|
|
+ this_rq->idle_stamp = 0;
|
|
break;
|
|
break;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
raw_spin_lock(&this_rq->lock);
|
|
raw_spin_lock(&this_rq->lock);
|