kernel/cgroup/cpuset.c | 7 ------- 1 file changed, 7 deletions(-)
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@huawei.com>
---
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))
--
2.34.1
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@huawei.com> > --- > 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
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@huawei.com> >> --- >> 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 >
© 2016 - 2026 Red Hat, Inc.