Re: [PATCH 2/2] sched/fair: Fix use of NULL with find_idlest_group

From: Brendan Jackman
Date: Mon Aug 21 2017 - 13:59:39 EST


Hi Josef,

Thanks for taking a look.

On Mon, Aug 21 2017 at 17:26, Josef Bacik wrote:
> On Mon, Aug 21, 2017 at 04:21:28PM +0100, Brendan Jackman wrote:
[...]
>> - local_group = cpumask_test_cpu(this_cpu,
>> - sched_group_span(group));
>> -
>
> This isn't right is it? cpu isn't necessarily in the very first group of a sd
> right?

I think it is - I haven't grokked the sd/sg setup code in
kernel/sched/topology.c but there is a comment[1] that I interpret as
saying this. I'll take a more careful look tomorrow.

[1] http://elixir.free-electrons.com/linux/v4.13-rc6/source/kernel/sched/topology.c#L786

If I'm wrong, this can be rewritten not to use that assumption - I did
it this way in the caller ("else if (group == sd->groups)") because I
didn't want to use cpumask_test_cpu, and then changed it inside
find_idlest_group so there weren't two ways of doing the same thing in
the same neighbourhood of code.

Cheers,
Brendan