Re: [PATCH 0/3] cgroup: Iterate tasks that did not finish do_exit()

Suren Baghdasaryan
2020-01-17T17:30:15Z

Hi Michal,

On Fri, Jan 17, 2020 at 7:15 AM Michal Koutný <mkoutny@suse.com> wrote:
>
> Hi,
> I was looking into the issue and came up with an alternative solution that
> changes task iteration to be consistent with cgroup_is_populated() check and
> moving the responsibility to check PF_EXITING on the consumers of iterator API.

Yeah, that was my first thought which basically reverts a part of
c03cd7738a83. When I first brought up this issue in the other email
thread, Tejun's comment was "the right thing to do is allowing
destruction of cgroups w/ only
dead processes in it". I assumed, maybe incorrectly, that the desire
here is not to include dying processes into cgroup.procs but to allow
cgroups with dying processes to be deleted.

To be clear, either way is fine with me since both ways solve the
issue and this way the code is definitely simpler. I'll rerun the
tests with your patches just to confirm the issue is gone.
Thanks!

> I haven't check your approach thoroughly, however, it appears to me it
> complicates (already non-trivial) cgroup destruction path. I ran your selftest
> on the iterators approach and it proved working.
>
>
> Michal Koutný (2):
> cgroup: Unify css_set task lists
> cgroup: Iterate tasks that did not finish do_exit()
>
> Suren Baghdasaryan (1):
> kselftest/cgroup: add cgroup destruction test
>
> include/linux/cgroup-defs.h | 15 ++-
> include/linux/cgroup.h | 4 +-
> kernel/cgroup/cgroup.c | 86 ++++++++--------
> kernel/cgroup/debug.c | 16 ++-
> tools/testing/selftests/cgroup/test_core.c | 113 +++++++++++++++++++++
> 5 files changed, 176 insertions(+), 58 deletions(-)
>
> --
> 2.24.1
>
> --
> To unsubscribe from this group and stop receiving emails from it, send an email to kernel-team+unsubscribe@android.com.
>