|
@@ -6788,14 +6788,14 @@ end:
|
|
|
* - For SD_ASYM_PACKING, if the lower numbered cpu's in the scheduler
|
|
|
* domain span are idle.
|
|
|
*/
|
|
|
-static inline int nohz_kick_needed(struct rq *rq, int cpu)
|
|
|
+static inline int nohz_kick_needed(struct rq *rq)
|
|
|
{
|
|
|
unsigned long now = jiffies;
|
|
|
struct sched_domain *sd;
|
|
|
struct sched_group_power *sgp;
|
|
|
- int nr_busy;
|
|
|
+ int nr_busy, cpu = rq->cpu;
|
|
|
|
|
|
- if (unlikely(idle_cpu(cpu)))
|
|
|
+ if (unlikely(rq->idle_balance))
|
|
|
return 0;
|
|
|
|
|
|
/*
|
|
@@ -6885,7 +6885,7 @@ void trigger_load_balance(struct rq *rq)
|
|
|
likely(!on_null_domain(cpu)))
|
|
|
raise_softirq(SCHED_SOFTIRQ);
|
|
|
#ifdef CONFIG_NO_HZ_COMMON
|
|
|
- if (nohz_kick_needed(rq, cpu) && likely(!on_null_domain(cpu)))
|
|
|
+ if (nohz_kick_needed(rq) && likely(!on_null_domain(cpu)))
|
|
|
nohz_balancer_kick(cpu);
|
|
|
#endif
|
|
|
}
|