On 03/02/2021 16:15, Qais Yousef wrote: > On 01/28/21 18:31, Valentin Schneider wrote:
[...] >> @@ -10238,7 +10236,7 @@ static void nohz_balancer_kick(struct rq *rq) >> * When ASYM_CPUCAPACITY; see if there's a higher capacity CPU >> * to run the misfit task on. >> */ >> - if (check_misfit_status(rq, sd)) { >> + if (check_misfit_status(rq)) { Since check_misfit_status() doesn't need sd anymore it looks like that rcu_dereference(per_cpu(sd_asym_cpucapacity, cpu)) could be replaced by static_branch_unlikely(&sched_asym_cpucapacity)) in nohz_balancer_kick(). But as you mentioned in an earlier conversation we do need to check sd because of asymmetric CPU capacity systems w/ exclusive cpusets which could create symmetric islands (unique capacity_orig among CPUs). Maybe worth putting a comment here (similar to the one in sis()) so people don't try to optimize?