cgroup: remove CGRP_RELEASABLE flag
authorZefan Li <lizefan@huawei.com>
Fri, 19 Sep 2014 08:51:00 +0000 (16:51 +0800)
committerTejun Heo <tj@kernel.org>
Fri, 19 Sep 2014 13:29:32 +0000 (09:29 -0400)
commita25eb52e81a40e986179a790fbb5a1f02f482b7a
tree1d88c2bfdd17f168a5c21b4038d697148187d958
parent4e2ba65068ac1d0e8c9df78a4ad787cf39640418
cgroup: remove CGRP_RELEASABLE flag

We call put_css_set() after setting CGRP_RELEASABLE flag in
cgroup_task_migrate(), but in other places we call it without setting
the flag. I don't see the necessity of this flag.

Moreover once the flag is set, it will never be cleared, unless writing
to the notify_on_release control file, so it can be quite confusing
if we look at the output of debug.releasable.

  # mount -t cgroup -o debug xxx /cgroup
  # mkdir /cgroup/child
  # cat /cgroup/child/debug.releasable
  0   <-- shows 0 though the cgroup is empty
  # echo $$ > /cgroup/child/tasks
  # cat /cgroup/child/debug.releasable
  0
  # echo $$ > /cgroup/tasks && echo $$ > /cgroup/child/tasks
  # cat /proc/child/debug.releasable
  1   <-- shows 1 though the cgroup is not empty

This patch removes the flag, and now debug.releasable shows if the
cgroup is empty or not.

Signed-off-by: Zefan Li <lizefan@huawei.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
include/linux/cgroup.h
kernel/cgroup.c