From: Li Zefan <lizf@cn.fujitsu.com>
To: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
Paul Menage <menage@google.com>,
containers@lists.linux-foundation.org,
linux-kernel@vger.kernel.org, akpm@linux-foundation.org
Subject: Re: [RFC][PATCH 2/3] CGroups: Use hierarchy_mutex in memory controller
Date: Thu, 11 Dec 2008 14:47:24 +0800 [thread overview]
Message-ID: <4940B77C.6020800@cn.fujitsu.com> (raw)
In-Reply-To: <20081211063307.GL3008@balbir.in.ibm.com>
Balbir Singh wrote:
> * KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> [2008-12-11 10:05:01]:
>
>> On Wed, 10 Dec 2008 16:52:57 -0800
>> Paul Menage <menage@google.com> wrote:
>>
>>> On Wed, Dec 10, 2008 at 4:49 PM, KAMEZAWA Hiroyuki
>>> <kamezawa.hiroyu@jp.fujitsu.com> wrote:
>>>> an operation like rmdir() in somewhere.
>>>> hierarchy_lock for A (acquired)
>>>> hierarchy_lock for B (waiting)
>>>>
>>>> in subsys A.
>>>> mmap_sem (acquired)
>>>> hierarchy_lock for A (waiting)
>>>> in subsys B.
>>>> hierarchy_lock for B (aquired)
>>>> mmap_sem (waiting)
>>>>
>>> That's a valid deadlock - you'd need to require the mmap_sem nests
>>> either inside all hierarchy_mutexes or else outside all of them.
>>>
>> This was a found dead lock between memcg and cpuset.
>>
>> another one was
>>
>> an operation like rmdir() in somewhere.
>> hierarchy_lock for memcg (acquired)
>> hierarchy_lock for B (waiting)
>>
>> in subsys B.
>> hierarchy_lock for B (aquired)
>
> But then the hierarchy_locks acquired will be different right?
>
Yes, I'm worrying this too. The lock order by cgroup_lock_hierarchy() is:
lock A -> lock B -> lock C
But a call chain may end up with:
... -> lock B -> ... lock A -> ...
So though this hierarchy lock proprosal can solve specific deadlock between
cpuset and memcg by making cpuset holding cgroup_lock and memcg holding hierarchy_lock,
but we'll probably encounter other deadlocks describled above.
>> have to do some memory reclaim -> hierarchy_lock for memcg (waiting)
>>
>> I have no objections to hierarchy_lock itself but calling context to memcg is very
>> complicated and simple replace of these locks will be just a small help.
>
> Could you please explain the race better?
>
next prev parent reply other threads:[~2008-12-11 6:49 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-12-10 23:36 [RFC][PATCH 0/3] CGroups: CGroups: Hierarchy locking/refcount changes menage
2008-12-10 23:36 ` [RFC][PATCH 1/3] CGroups: Add a per-subsystem hierarchy_mutex menage-hpIqsD4AKlfQT0dZR+AlfA
2008-12-10 23:36 ` menage
[not found] ` <20081210234432.065445000-B63HFAS8fGlSzHKm+aFRNNkmqwFzkYv6@public.gmane.org>
2008-12-11 0:37 ` KAMEZAWA Hiroyuki
2008-12-11 3:05 ` Li Zefan
2008-12-11 6:29 ` Balbir Singh
2008-12-11 0:37 ` KAMEZAWA Hiroyuki
2008-12-11 0:44 ` Paul Menage
[not found] ` <20081211093733.c24deb6e.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2008-12-11 0:44 ` Paul Menage
2008-12-11 6:30 ` Balbir Singh
2008-12-11 6:30 ` Balbir Singh
2008-12-11 3:05 ` Li Zefan
2008-12-11 17:07 ` Paul Menage
[not found] ` <4940836A.9010502-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2008-12-11 17:07 ` Paul Menage
2008-12-11 6:29 ` Balbir Singh
2008-12-11 17:09 ` Paul Menage
[not found] ` <20081211062940.GJ3008-SINUvgVNF2CyUtPGxGje5AC/G2K4zDHf@public.gmane.org>
2008-12-11 17:09 ` Paul Menage
2008-12-10 23:36 ` [RFC][PATCH 2/3] CGroups: Use hierarchy_mutex in memory controller menage-hpIqsD4AKlfQT0dZR+AlfA
2008-12-10 23:36 ` menage
[not found] ` <20081210234432.236302000-B63HFAS8fGlSzHKm+aFRNNkmqwFzkYv6@public.gmane.org>
2008-12-11 0:49 ` KAMEZAWA Hiroyuki
2008-12-11 0:49 ` KAMEZAWA Hiroyuki
2008-12-11 0:52 ` Paul Menage
2008-12-11 1:05 ` KAMEZAWA Hiroyuki
[not found] ` <20081211100501.bf538f0c.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2008-12-11 6:33 ` Balbir Singh
2008-12-11 6:33 ` Balbir Singh
2008-12-11 6:47 ` Li Zefan [this message]
[not found] ` <20081211063307.GL3008-SINUvgVNF2CyUtPGxGje5AC/G2K4zDHf@public.gmane.org>
2008-12-11 6:47 ` Li Zefan
2008-12-11 6:53 ` KAMEZAWA Hiroyuki
2008-12-11 6:53 ` KAMEZAWA Hiroyuki
2008-12-11 17:05 ` Paul Menage
2008-12-12 1:12 ` KAMEZAWA Hiroyuki
[not found] ` <6599ad830812110905k4e32363fp671bf88e18fbf349-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2008-12-12 1:12 ` KAMEZAWA Hiroyuki
[not found] ` <20081211155323.957eb73c.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2008-12-11 17:05 ` Paul Menage
[not found] ` <6599ad830812101652o25bc33f3r2a710e0879f9b196-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2008-12-11 1:05 ` KAMEZAWA Hiroyuki
[not found] ` <20081211094938.85b00cf3.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2008-12-11 0:52 ` Paul Menage
2008-12-10 23:36 ` [RFC][PATCH 3/3] CGroups: Add css_tryget() menage-hpIqsD4AKlfQT0dZR+AlfA
2008-12-10 23:36 ` menage
[not found] ` <20081210234432.407064000-B63HFAS8fGlSzHKm+aFRNNkmqwFzkYv6@public.gmane.org>
2008-12-11 0:52 ` KAMEZAWA Hiroyuki
2008-12-11 5:15 ` KAMEZAWA Hiroyuki
2008-12-11 0:52 ` KAMEZAWA Hiroyuki
[not found] ` <20081211095255.8763905f.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2008-12-11 7:02 ` [RFC][PATCH]example: use css_tryget() in memcg " KAMEZAWA Hiroyuki
2008-12-11 7:02 ` KAMEZAWA Hiroyuki
2008-12-11 5:15 ` KAMEZAWA Hiroyuki
[not found] ` <20081211141507.a087f270.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2008-12-11 7:28 ` Paul Menage
2008-12-11 7:28 ` Paul Menage
2008-12-11 7:29 ` KAMEZAWA Hiroyuki
[not found] ` <6599ad830812102328x52657bffm9864a0f9a4b3d5bd-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2008-12-11 7:29 ` KAMEZAWA Hiroyuki
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4940B77C.6020800@cn.fujitsu.com \
--to=lizf@cn.fujitsu.com \
--cc=akpm@linux-foundation.org \
--cc=containers@lists.linux-foundation.org \
--cc=kamezawa.hiroyu@jp.fujitsu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=menage@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.