Re: [PATCH] sched/topology: remove unneeded do while loop in cpu_attach_domain()

From: Miaohe Lin
Date: Tue Jun 20 2023 - 22:54:04 EST


On 2023/6/20 22:11, Peter Zijlstra wrote:
> On Sat, Jun 17, 2023 at 04:19:26PM +0800, Miaohe Lin wrote:
>> When sg != sd->groups, the do while loop would cause deadloop here. But
>> that won't occur because sg is always equal to sd->groups now. Remove
>> this unneeded do while loop.
>
> This Changelog makes no sense to me.. Yes, as is the do {} while loop is
> dead code, but it *should* have read like:
>
> do {
> sg->flags = 0;
> sg = sg->next;
> } while (sg != sd->groups);
>
> as I noted here:
>
> https://lore.kernel.org/all/20230523105935.GN83892@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/T/#u

[1]

>
> So what this changelog should argue is how there cannot be multiple
> groups here -- or if there can be, add the missing iteration.

[1] said:
"
Yes, I missed that.

That being said, the only reason for sd to be degenerate is that there
is only 1 group. Otherwise we will keep it and degenerate parents
instead
"

IOW, "sg = sg->next;" is missed intentionally in the do while{} loop to show that
there's only 1 sched group. This looks weird to me but no persist on change the code.

Thanks.