Re: BUG: CGROUPS [2.6.28-rc6] Task migration does not clean reference to group

From: sudhir kumar
Date: Tue Dec 02 2008 - 08:36:35 EST


On Tue, Dec 2, 2008 at 6:37 PM, Li Zefan <lizf@xxxxxxxxxxxxxx> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/