Re: [PATCH -next] cgroup/cpuset: Avoid clearing CS_SCHED_LOAD_BALANCE twice

From: xiujianfeng
Date: Mon Apr 22 2024 - 21:40:25 EST




On 2024/4/23 2:38, Waiman Long wrote:
> On 4/20/24 05:47, Xiu Jianfeng wrote:
>> In cpuset_css_online(), CS_SCHED_LOAD_BALANCE has been cleared in the
>> is_in_v2_mode() case under the same condition, don't do it twice.
>>
>> Signed-off-by: Xiu Jianfeng <xiujianfeng@xxxxxxxxxx>
>> ---
>>   kernel/cgroup/cpuset.c | 7 -------
>>   1 file changed, 7 deletions(-)
>>
>> diff --git a/kernel/cgroup/cpuset.c b/kernel/cgroup/cpuset.c
>> index e70008a1d86a..159525cdaeb9 100644
>> --- a/kernel/cgroup/cpuset.c
>> +++ b/kernel/cgroup/cpuset.c
>> @@ -4059,13 +4059,6 @@ static int cpuset_css_online(struct
>> cgroup_subsys_state *css)
>>               clear_bit(CS_SCHED_LOAD_BALANCE, &cs->flags);
>>       }
>>   -    /*
>> -     * For v2, clear CS_SCHED_LOAD_BALANCE if parent is isolated
>> -     */
>> -    if (cgroup_subsys_on_dfl(cpuset_cgrp_subsys) &&
>> -        !is_sched_load_balance(parent))
>> -        clear_bit(CS_SCHED_LOAD_BALANCE, &cs->flags);
>> -
>>       spin_unlock_irq(&callback_lock);
>>         if (!test_bit(CGRP_CPUSET_CLONE_CHILDREN, &css->cgroup->flags))
>
> Thanks for catching this duplication.
>
> Could you remove the check inside is_in_v2_mode() instead?
> is_in_v2_mode() can be true for cgroup v1 if the"cpuset_v2_mode" mount
> option is specified. That balance flag change isn't appropriate for this
> particular case.

Sure, thanks for explanation, will do in v2.

>
> Thanks,
> Longman
>