Messages in this thread | | | Subject | Re: [PATCH 5/8] sched/fair: Make check_misfit_status() only compare dynamic capacities | From | Dietmar Eggemann <> | Date | Thu, 4 Feb 2021 11:49:40 +0100 |
| |
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?
| |