|
@@ -6878,11 +6878,13 @@ static inline int on_null_domain(struct rq *rq)
|
|
|
void trigger_load_balance(struct rq *rq)
|
|
|
{
|
|
|
/* Don't need to rebalance while attached to NULL domain */
|
|
|
- if (time_after_eq(jiffies, rq->next_balance) &&
|
|
|
- likely(!on_null_domain(rq)))
|
|
|
+ if (unlikely(on_null_domain(rq)))
|
|
|
+ return;
|
|
|
+
|
|
|
+ if (time_after_eq(jiffies, rq->next_balance))
|
|
|
raise_softirq(SCHED_SOFTIRQ);
|
|
|
#ifdef CONFIG_NO_HZ_COMMON
|
|
|
- if (nohz_kick_needed(rq) && likely(!on_null_domain(rq)))
|
|
|
+ if (nohz_kick_needed(rq))
|
|
|
nohz_balancer_kick();
|
|
|
#endif
|
|
|
}
|