Re: [PATCH v7 08/14] sched/topology: Disable EAS on inappropriate platforms

From: Quentin Perret
Date: Thu Oct 04 2018 - 05:10:57 EST


On Wednesday 03 Oct 2018 at 18:27:19 (+0200), Peter Zijlstra wrote:
> On Wed, Sep 12, 2018 at 10:13:03AM +0100, Quentin Perret wrote:
> > @@ -288,6 +321,21 @@ static void build_perf_domains(const struct cpumask *cpu_map)
> > goto free;
> > tmp->next = pd;
> > pd = tmp;
> > +
> > + /*
> > + * Count performance domains and capacity states for the
> > + * complexity check.
> > + */
> > + nr_pd++;
> > + nr_cs += em_pd_nr_cap_states(pd->obj);
> > + }
> > +
> > + /* Bail out if the Energy Model complexity is too high. */
> > + if (nr_pd * (nr_cs + nr_cpus) > EM_MAX_COMPLEXITY) {
> > + if (sched_debug())
> > + pr_info("rd %*pbl: EM complexity is too high\n ",
> > + cpumask_pr_args(cpu_map));
> > + goto free;
> > }
>
> I would make than an unconditional WARN, we do not really expect that to
> trigger, but then it does, we really don't want to hide it.

OTOH that also means that some people with big asymmetric machines can
get a WARN message every time they boot, and even if they don't want to
use EAS.

Now, that shouldn't happen any time soon, so it's maybe a good thing if
we get reports when/if people start to hit that one, so why not ...

Thanks,
Quentin