2024-04-23 02:53:09

by Xiu Jianfeng

[permalink] [raw]
Subject: [PATCH v2 -next] cgroup/cpuset: Avoid clearing CS_SCHED_LOAD_BALANCE twice

In cpuset_css_online(), CS_SCHED_LOAD_BALANCE will be cleared twice,
the former one in the is_in_v2_mode() case could be removed because
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.

Signed-off-by: Xiu Jianfeng <[email protected]>

---
v2: remove the one in is_in_v2_mode() case.
---
kernel/cgroup/cpuset.c | 5 -----
1 file changed, 5 deletions(-)

diff --git a/kernel/cgroup/cpuset.c b/kernel/cgroup/cpuset.c
index d8d3439eda4e..bb9bf25889c9 100644
--- a/kernel/cgroup/cpuset.c
+++ b/kernel/cgroup/cpuset.c
@@ -4051,11 +4051,6 @@ static int cpuset_css_online(struct cgroup_subsys_state *css)
cs->effective_mems = parent->effective_mems;
cs->use_parent_ecpus = true;
parent->child_ecpus_count++;
- /*
- * Clear CS_SCHED_LOAD_BALANCE if parent is isolated
- */
- if (!is_sched_load_balance(parent))
- clear_bit(CS_SCHED_LOAD_BALANCE, &cs->flags);
}

/*
--
2.34.1



2024-04-23 02:53:46

by Waiman Long

[permalink] [raw]
Subject: Re: [PATCH v2 -next] cgroup/cpuset: Avoid clearing CS_SCHED_LOAD_BALANCE twice

On 4/22/24 22:44, Xiu Jianfeng wrote:
> In cpuset_css_online(), CS_SCHED_LOAD_BALANCE will be cleared twice,
> the former one in the is_in_v2_mode() case could be removed because
> 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.
>
> Signed-off-by: Xiu Jianfeng <[email protected]>
>
> ---
> v2: remove the one in is_in_v2_mode() case.
> ---
> kernel/cgroup/cpuset.c | 5 -----
> 1 file changed, 5 deletions(-)
>
> diff --git a/kernel/cgroup/cpuset.c b/kernel/cgroup/cpuset.c
> index d8d3439eda4e..bb9bf25889c9 100644
> --- a/kernel/cgroup/cpuset.c
> +++ b/kernel/cgroup/cpuset.c
> @@ -4051,11 +4051,6 @@ static int cpuset_css_online(struct cgroup_subsys_state *css)
> cs->effective_mems = parent->effective_mems;
> cs->use_parent_ecpus = true;
> parent->child_ecpus_count++;
> - /*
> - * Clear CS_SCHED_LOAD_BALANCE if parent is isolated
> - */
> - if (!is_sched_load_balance(parent))
> - clear_bit(CS_SCHED_LOAD_BALANCE, &cs->flags);
> }
>
> /*

Thank for the v2.

Reviewed-by: Waiman Long <[email protected]>


2024-04-23 16:01:35

by Tejun Heo

[permalink] [raw]
Subject: Re: [PATCH v2 -next] cgroup/cpuset: Avoid clearing CS_SCHED_LOAD_BALANCE twice

On Tue, Apr 23, 2024 at 02:44:39AM +0000, Xiu Jianfeng wrote:
> In cpuset_css_online(), CS_SCHED_LOAD_BALANCE will be cleared twice,
> the former one in the is_in_v2_mode() case could be removed because
> 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.
>
> Signed-off-by: Xiu Jianfeng <[email protected]>

Applied to cgroup/for-6.10.

Thanks.

--
tejun