Re: [PATCH 3/4] sched/fair: Consider SMT in ASYM_PACKING load balance

From: Peter Zijlstra
Date: Tue Apr 06 2021 - 09:07:03 EST


On Mon, Apr 05, 2021 at 09:11:07PM -0700, Ricardo Neri wrote:
> +static bool cpu_group_is_smt(int cpu, struct sched_group *sg)
> +{
> +#ifdef CONFIG_SCHED_SMT
> + if (!static_branch_likely(&sched_smt_present))
> + return false;
> +
> + if (sg->group_weight == 1)
> + return false;
> +
> + if (cpumask_weight(cpu_smt_mask(cpu)) == 1)
> + return false;

Please explain this condition. Why is it required?

> + return cpumask_equal(sched_group_span(sg), cpu_smt_mask(cpu));
> +#else
> + return false;
> +#endif
> +}