Messages in this thread | | | Date | Tue, 2 Dec 2008 19:06:21 +0530 | From | "sudhir kumar" <> | Subject | Re: BUG: CGROUPS [2.6.28-rc6] Task migration does not clean reference to group |
| |
On Tue, Dec 2, 2008 at 6:37 PM, Li Zefan <lizf@cn.fujitsu.com> wrote: > sudhir kumar wrote: >> Hi, >> I see an interesting bug in the cgroups. I found that cat /proc/cgroups >> does not decrease the num_cgroups field when a group is deleted. It looks >> to me that somewhere we miss to delete the reference, which leads to a failure >> to unmount the cgroups filesystem. > > Ah, it's not a bug. :) Oh Sorry! > >> The steps to produce the bug are: >> >> mkdir /cpu >> mount -t cgroup -ocpu cgroup /cpu >> cd cpu >> mkdir group1; >> cd group1; >> /./while & # an infinite loop > > Seems whenever we create a background job, we'll have a pin to the directory where > the job is created. So though rmdir() removed the directory, the dentry's refcnt Thanks for that. Should not rmdir fail in such a case ? Otherwise there is no other way for the user than to kill his task and unmount the cgroup fs, in case he needs to do so. Or shall we change the pin to point to the target directory? No idea if I am demanding too much ;(
Thanks Sudhir
| |