cgroup: Include dying leaders with live threads in PROCS iterations
authorTejun Heo <tj@kernel.org>
Fri, 31 May 2019 17:38:58 +0000 (10:38 -0700)
committerTejun Heo <tj@kernel.org>
Fri, 31 May 2019 17:38:58 +0000 (10:38 -0700)
commitc03cd7738a83b13739f00546166969342c8ff014
tree6ac8b0e1001dbfc3c7eb8df089bc500aeeab9a24
parentb636fd38dc40113f853337a7d2a6885ad23b8811
cgroup: Include dying leaders with live threads in PROCS iterations

CSS_TASK_ITER_PROCS currently iterates live group leaders; however,
this means that a process with dying leader and live threads will be
skipped.  IOW, cgroup.procs might be empty while cgroup.threads isn't,
which is confusing to say the least.

Fix it by making cset track dying tasks and include dying leaders with
live threads in PROCS iteration.

Signed-off-by: Tejun Heo <tj@kernel.org>
Reported-and-tested-by: Topi Miettinen <toiwoton@gmail.com>
Cc: Oleg Nesterov <oleg@redhat.com>
include/linux/cgroup-defs.h
include/linux/cgroup.h
kernel/cgroup/cgroup.c