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

From: Waiman Long
Date: Mon Apr 22 2024 - 14:39:01 EST


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.

Thanks,
Longman