Messages in this thread |  | | | Date | Thu, 11 Dec 2008 10:05:01 +0900 | | From | KAMEZAWA Hiroyuki <> | | Subject | Re: [RFC][PATCH 2/3] CGroups: Use hierarchy_mutex in memory controller |
| |
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) 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.
-Kame
|  |