2012-06-22 12:00:10

by Wanpeng Li

[permalink] [raw]
Subject: [PATCH 1/2] memcg: use existing function to judge root mem cgroup

From: Wanpeng Li <[email protected]>

Signed-off-by: Wanpeng Li <[email protected]>
---
mm/memcontrol.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index f72b5e5..776fc57 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -4873,7 +4873,7 @@ mem_cgroup_create(struct cgroup *cont)
goto free_out;

/* root ? */
- if (cont->parent == NULL) {
+ if (!(mem_cgroup_is_root(cont))) {
int cpu;
enable_swap_cgroup();
parent = NULL;
--
1.7.9.5


2012-06-22 12:28:12

by Michal Hocko

[permalink] [raw]
Subject: Re: [PATCH 1/2] memcg: use existing function to judge root mem cgroup

On Fri 22-06-12 19:57:22, Wanpeng Li wrote:
> From: Wanpeng Li <[email protected]>
>
> Signed-off-by: Wanpeng Li <[email protected]>
> ---
> mm/memcontrol.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/mm/memcontrol.c b/mm/memcontrol.c
> index f72b5e5..776fc57 100644
> --- a/mm/memcontrol.c
> +++ b/mm/memcontrol.c
> @@ -4873,7 +4873,7 @@ mem_cgroup_create(struct cgroup *cont)
> goto free_out;
>
> /* root ? */
> - if (cont->parent == NULL) {
> + if (!(mem_cgroup_is_root(cont))) {

This is not correct. mem_cgroup_is_root takes mem_cgroup and you are
giving it cgroup, see?

> int cpu;
> enable_swap_cgroup();
> parent = NULL;
> --
> 1.7.9.5
>
> --
> To unsubscribe from this list: send the line "unsubscribe cgroups" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html

--
Michal Hocko
SUSE Labs
SUSE LINUX s.r.o.
Lihovarska 1060/12
190 00 Praha 9
Czech Republic

2012-06-22 12:29:21

by Johannes Weiner

[permalink] [raw]
Subject: Re: [PATCH 1/2] memcg: use existing function to judge root mem cgroup

On Fri, Jun 22, 2012 at 07:57:22PM +0800, Wanpeng Li wrote:
> From: Wanpeng Li <[email protected]>
>
> Signed-off-by: Wanpeng Li <[email protected]>
> ---
> mm/memcontrol.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/mm/memcontrol.c b/mm/memcontrol.c
> index f72b5e5..776fc57 100644
> --- a/mm/memcontrol.c
> +++ b/mm/memcontrol.c
> @@ -4873,7 +4873,7 @@ mem_cgroup_create(struct cgroup *cont)
> goto free_out;
>
> /* root ? */
> - if (cont->parent == NULL) {
> + if (!(mem_cgroup_is_root(cont))) {

cont is struct cgroup *, but this function takes struct mem_cgroup *.
The compiler should have warned you about this.