2021-02-23 21:17:29

by Shakeel Butt

[permalink] [raw]
Subject: [PATCH] memcg: cleanup root memcg checks

Replace the implicit checking of root memcg with explicit root memcg
checking i.e. !css->parent with mem_cgroup_is_root().

Signed-off-by: Shakeel Butt <[email protected]>
---
mm/memcontrol.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index dcb5665aeb69..79046ad3eec0 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -4141,7 +4141,7 @@ static int mem_cgroup_swappiness_write(struct cgroup_subsys_state *css,
if (val > 100)
return -EINVAL;

- if (css->parent)
+ if (!mem_cgroup_is_root(memcg))
memcg->swappiness = val;
else
vm_swappiness = val;
@@ -4491,7 +4491,7 @@ static int mem_cgroup_oom_control_write(struct cgroup_subsys_state *css,
struct mem_cgroup *memcg = mem_cgroup_from_css(css);

/* cannot set to root cgroup and only 0 and 1 are allowed */
- if (!css->parent || !((val == 0) || (val == 1)))
+ if (mem_cgroup_is_root(memcg) || !((val == 0) || (val == 1)))
return -EINVAL;

memcg->oom_kill_disable = val;
--
2.30.0.617.g56c4b15f3c-goog


2021-02-24 09:34:52

by Michal Hocko

[permalink] [raw]
Subject: Re: [PATCH] memcg: cleanup root memcg checks

On Tue 23-02-21 12:56:25, Shakeel Butt wrote:
> Replace the implicit checking of root memcg with explicit root memcg
> checking i.e. !css->parent with mem_cgroup_is_root().
>
> Signed-off-by: Shakeel Butt <[email protected]>

Acked-by: Michal Hocko <[email protected]>

Thanks!

> ---
> mm/memcontrol.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/mm/memcontrol.c b/mm/memcontrol.c
> index dcb5665aeb69..79046ad3eec0 100644
> --- a/mm/memcontrol.c
> +++ b/mm/memcontrol.c
> @@ -4141,7 +4141,7 @@ static int mem_cgroup_swappiness_write(struct cgroup_subsys_state *css,
> if (val > 100)
> return -EINVAL;
>
> - if (css->parent)
> + if (!mem_cgroup_is_root(memcg))
> memcg->swappiness = val;
> else
> vm_swappiness = val;
> @@ -4491,7 +4491,7 @@ static int mem_cgroup_oom_control_write(struct cgroup_subsys_state *css,
> struct mem_cgroup *memcg = mem_cgroup_from_css(css);
>
> /* cannot set to root cgroup and only 0 and 1 are allowed */
> - if (!css->parent || !((val == 0) || (val == 1)))
> + if (mem_cgroup_is_root(memcg) || !((val == 0) || (val == 1)))
> return -EINVAL;
>
> memcg->oom_kill_disable = val;
> --
> 2.30.0.617.g56c4b15f3c-goog

--
Michal Hocko
SUSE Labs