Messages in this thread | | | Date | Thu, 9 Sep 2010 12:36:51 +0100 (BST) | From | Mark Hills <> | Subject | Re: cgroup: rmdir() does not complete |
| |
On Thu, 9 Sep 2010, Balbir Singh wrote:
> * Mark Hills <mark@pogo.org.uk> [2010-09-09 11:01:45]: > > > On Thu, 2 Sep 2010, KAMEZAWA Hiroyuki wrote: > > > > [...] > > > But hmm...it's curious who holds mutex and what happens. > > > > I have a system showing the failure case (but still do not have a way to > > reliably repeat it) > > > > Here are the two processes: > > > > 23586 pts/0 RL+ 5059:18 /net/homes/mhills/tmp/soaked-cgroup > > 23685 pts/6 DL+ 0:00 /net/homes/mhills/tmp/soaked-cgroup > > > > 23586 spends almost all of its time in 'RL+' status, occasionally it is > > seen in 'DL+' status. > > > > From my analysis before, both are blocked on rmdir(), but one is spinning, > > holding the lock on the /cgroup, and the other is waiting for the lock. If > > I strace 23586 then the rmdir() fails with EINTR. > > > > Any chance you can compile with debug cgroup subsystem and get > information from there?
I can, I'd like to experiment with a custom kernel next.
I am still finding the problem incredibly hard to reproduce, so I'd like to observe as much data as possible from the current case before rebooting. If I could capture some kind of stack trace in the kernel for the running process that would be great, any suggestions appreciated.
Thanks
-- Mark
| |