|
@@ -8447,6 +8447,12 @@ static int idle_balance(struct rq *this_rq, struct rq_flags *rf)
|
|
*/
|
|
*/
|
|
this_rq->idle_stamp = rq_clock(this_rq);
|
|
this_rq->idle_stamp = rq_clock(this_rq);
|
|
|
|
|
|
|
|
+ /*
|
|
|
|
+ * Do not pull tasks towards !active CPUs...
|
|
|
|
+ */
|
|
|
|
+ if (!cpu_active(this_cpu))
|
|
|
|
+ return 0;
|
|
|
|
+
|
|
/*
|
|
/*
|
|
* This is OK, because current is on_cpu, which avoids it being picked
|
|
* This is OK, because current is on_cpu, which avoids it being picked
|
|
* for load-balance and preemption/IRQs are still disabled avoiding
|
|
* for load-balance and preemption/IRQs are still disabled avoiding
|