lkml.org 
[lkml]   [2012]   [Jul]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] mm/memcg: return -EBUSY when oom-kill-disable modified and memcg use_hierarchy, has children
On Thu 05-07-12 18:55:08, Wanpeng Li wrote:
> From: Wanpeng Li <liwp@linux.vnet.ibm.com>
>
> When oom-kill-disable modified by the user and current memcg use_hierarchy,
> the change can occur, provided the current memcg has no children. If it
> has children, return -EBUSY is enough.

I do not think EBUSY makes any difference. I would much rather see the
test go away...

> Signed-off-by: Wanpeng Li <liwp.linux@gmail.com>
> ---
> mm/memcontrol.c | 7 +++++--
> 1 files changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/mm/memcontrol.c b/mm/memcontrol.c
> index 63e36e7..4b64fe0 100644
> --- a/mm/memcontrol.c
> +++ b/mm/memcontrol.c
> @@ -4521,11 +4521,14 @@ static int mem_cgroup_oom_control_write(struct cgroup *cgrp,
>
> cgroup_lock();
> /* oom-kill-disable is a flag for subhierarchy. */
> - if ((parent->use_hierarchy) ||
> - (memcg->use_hierarchy && !list_empty(&cgrp->children))) {
> + if (parent->use_hierarchy) {
> cgroup_unlock();
> return -EINVAL;
> + } else if (memcg->use_hierarchy && !list_empty(&cgrp->children)) {
> + cgroup_unlock();
> + return -EBUSY;
> }
> +
> memcg->oom_kill_disable = val;
> if (!val)
> memcg_oom_recover(memcg);
> --
> 1.7.5.4
>

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


\
 
 \ /
  Last update: 2012-07-09 14:41    [W:0.064 / U:0.148 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site