* KAMEZAWA Hiroyuki <[EMAIL PROTECTED]> [2008-12-11 10:05:01]: > On Wed, 10 Dec 2008 16:52:57 -0800 > Paul Menage <[EMAIL PROTECTED]> wrote: > > > On Wed, Dec 10, 2008 at 4:49 PM, KAMEZAWA Hiroyuki > > <[EMAIL PROTECTED]> 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? > 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? -- Balbir _______________________________________________ Containers mailing list [EMAIL PROTECTED] https://lists.linux-foundation.org/mailman/listinfo/containers _______________________________________________ Devel mailing list Devel@openvz.org https://openvz.org/mailman/listinfo/devel