On Fri, Jan 10, 2020 at 1:56 PM Tejun Heo <tj@xxxxxxxxxx> wrote: > > Hello, > > On Fri, Jan 10, 2020 at 01:47:19PM -0800, Suren Baghdasaryan wrote: > > So from user space's point of view the cgroup is empty and can be > > removed but rmdir() fails to do so. I think this behavior is > > inconsistent with the claim "cgroup which doesn't have any children > > and is associated only with zombie processes is considered empty and > > can be removed" from > > https://elixir.bootlin.com/linux/v5.4.10/source/Documentation/admin-guide/cgroup-v2.rst#L222 > > Yeah, the current behavior isn't quite consistent with the > documentation and what we prolly wanna do is allowing destroying a > cgroup with only dead processes in it. That said, the correct (or at > least workable) signal which indicates that a cgroup is ready for > removal is cgroup.events::populated being zero, which is a poll(2)able > event. Unfortunately it would not be workable for us as it's only available for cgroup v2 controllers. I can think of other ways to fix it in the userspace but there might be other cgroup API users which are be broken after this change. I would prefer to fix it in the kernel if at all possible rather than chasing all possible users. Thanks, Suren. > > Thanks. > > -- > tejun