1. 12 Sep, 2019 1 commit
    • Roman Gushchin's avatar
      kselftests: cgroup: add freezer mkdir test · 44e9d308
      Roman Gushchin authored
      
      
      Add a new cgroup freezer selftest, which checks that if a cgroup is
      frozen, their new child cgroups will properly inherit the frozen
      state.
      
      It creates a parent cgroup, freezes it, creates a child cgroup
      and populates it with a dummy process. Then it checks that both
      parent and child cgroup are frozen.
      Signed-off-by: default avatarRoman Gushchin <guro@fb.com>
      Cc: Tejun Heo <tj@kernel.org>
      Cc: Shuah Khan <shuah@kernel.org>
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      44e9d308
  2. 02 Jul, 2019 1 commit
  3. 19 Apr, 2019 1 commit
    • Roman Gushchin's avatar
      kselftests: cgroup: add freezer controller self-tests · 5313bfe4
      Roman Gushchin authored
      
      
      This patch implements 9 tests for the freezer controller for
      cgroup v2:
      1) a simple test, which aims to freeze and unfreeze a cgroup with 100
      processes
      2) a more complicated tree test, which creates a hierarchy of cgroups,
      puts some processes in some cgroups, and tries to freeze and unfreeze
      different parts of the subtree
      3) a forkbomb test: the test aims to freeze a forkbomb running in a
      cgroup, kill all tasks in the cgroup and remove the cgroup without
      the unfreezing.
      4) rmdir test: the test creates two nested cgroups, freezes the parent
      one, checks that the child can be successfully removed, and a new
      child can be created
      5) migration tests: the test checks migration of a task between
      frozen cgroups: from a frozen to a running, from a running to a
      frozen, and from a frozen to a frozen.
      6) ptrace test: the test checks that it's possible to attach to
      a process in a frozen cgroup, get some information and detach, and
      the cgroup will remain frozen.
      7) stopped test: the test checks that it's possible to freeze a cgroup
      with a stopped task
      8) ptraced test: the test checks that it's possible to freeze a cgroup
      with a ptraced task
      9) vfork test: the test checks that it's possible to freeze a cgroup
      with a parent process waiting for the child process in vfork()
      
      Expected output:
        $ ./test_freezer
        ok 1 test_cgfreezer_simple
        ok 2 test_cgfreezer_tree
        ok 3 test_cgfreezer_forkbomb
        ok 4 test_cgrreezer_rmdir
        ok 5 test_cgfreezer_migrate
        ok 6 test_cgfreezer_ptrace
        ok 7 test_cgfreezer_stopped
        ok 8 test_cgfreezer_ptraced
        ok 9 test_cgfreezer_vfork
      Signed-off-by: default avatarRoman Gushchin <guro@fb.com>
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Cc: Shuah Khan <shuah@kernel.org>
      Cc: kernel-team@fb.com
      Cc: linux-kselftest@vger.kernel.org
      5313bfe4