Re: [PATCH v3 4/8] sched, x86: use arch_update_cpu_topology to indicate x86 need sched domain rebuild

From: Thomas Gleixner
Date: Sat Sep 10 2016 - 12:23:31 EST


On Thu, 8 Sep 2016, Srinivas Pandruvada wrote:

How is this related to sched? And please stop writing lengthy sentences in
the subject line.

> From: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx>
>
> Provides x86 with arch_update_cpu_topology function. This function
> allows us to indicate that a condition is detected that the sched
> domain of x86 needs a complete rebuild.

scheduler domains are not x86 specific ....

> This is done by setting the x86_topology_update flag.

So without reading the patch I expect that the function sets the
x86_topology_update flag. Crap.

What you really want to say is:

The scheduler calls arch_update_cpu_topology() to check whether the
scheduler domains have to be rebuilt.

So far x86 has no requirement for this, but the upcoming IMTI support
makes this necessary.

Request the rebuild when the x86 internal update flag is set.

Or something along these lines. Changelog is a important part of a patch,
really..

> +/* Flag to indicate if a complete sched domain rebuild is required */
> +bool x86_topology_update;
> +
> +int arch_update_cpu_topology(void)
> +{
> + if (x86_topology_update) {
> + x86_topology_update = false;
> + return 1;
> + } else
> + return 0;

That lacks braces around the else path, but why aren't you just doing the
obvious:

if (!x86_topology_update)
return false;

x86_topology_update = false;
return true;

That would be too simple to read, right?;

Thanks,

tglx