Re: [PATCH] memcg: change oom_info_lock to mutex

From: David Rientjes
Date: Mon Feb 10 2014 - 16:41:12 EST


On Mon, 10 Feb 2014, Michal Hocko wrote:

> diff --git a/mm/memcontrol.c b/mm/memcontrol.c
> index 19d5d4274e22..55e6731ebcd5 100644
> --- a/mm/memcontrol.c
> +++ b/mm/memcontrol.c
> @@ -1687,7 +1687,7 @@ void mem_cgroup_print_oom_info(struct mem_cgroup *memcg, struct task_struct *p)
> * protects memcg_name and makes sure that parallel ooms do not
> * interleave
> */
> - static DEFINE_SPINLOCK(oom_info_lock);
> + static DEFINE_MUTEX(oom_info_lock);
> struct cgroup *task_cgrp;
> struct cgroup *mem_cgrp;
> static char memcg_name[PATH_MAX];
> @@ -1698,7 +1698,7 @@ void mem_cgroup_print_oom_info(struct mem_cgroup *memcg, struct task_struct *p)
> if (!p)
> return;
>
> - spin_lock(&oom_info_lock);
> + mutex_lock(&oom_info_lock);
> rcu_read_lock();
>
> mem_cgrp = memcg->css.cgroup;
> @@ -1767,7 +1767,7 @@ done:
>
> pr_cont("\n");
> }
> - spin_unlock(&oom_info_lock);
> + mutex_unlock(&oom_info_lock);
> }
>
> /*

Can we change oom_info_lock() to only protecting memcg_name and forget
about interleaving the hierarchical memcg stats instead?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/