Re: sched/fair: avoid using uninitialized variable in preferred_group_nid()

From: Jan Beulich
Date: Fri Jan 23 2015 - 05:01:20 EST


>>> On 23.01.15 at 10:54, <peterz@xxxxxxxxxxxxx> wrote:
> On Fri, Jan 23, 2015 at 08:25:38AM +0000, Jan Beulich wrote:
>> At least some gcc versions - validly afaict - warn about potentially
>> using max_group uninitialized: There's no way the compiler can prove
>> that the body of the conditional where it and max_faults get set/
>> updated gets executed; in fact, without knowing all the details of
>> other scheduler code, I can't prove this either.
>>
>> Generally the necessary change would appear to be to clear max_group
>> prior to entering the inner loop, and break out of the outer loop when
>> it ends up being all clear after the inner one. This, however, seems
>> inefficient, and afaict the same effect can be achieved by exiting the
>> outer loop when max_faults is still zero after the inner loop. For the
>> compiler's sake, mark max_group uninitialized, as we're now able to
>> prove it's not actually being used uninitalized anymore.
>
>
> Yes this is somewhat challenging. What compiler version in specific did
> you get this warning wiht? I cannot remember seeing it with whatever it
> is I use (4.7-4.9 it seems).

SLE11 SP3's gcc (4.3.4 based).

Jan

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/