[PATCH v2 0/5] Fix bugs in memcontroller cgroup tests

From: David Vernet
Date: Sat Apr 23 2022 - 11:57:03 EST


tools/testing/selftests/cgroup/test_memcontrol.c contains a set of
testcases which validate expected behavior of the cgroup memory controller.
Roman Gushchin recently sent out a patchset that fixed a few issues in the
test. This patchset continues that effort by fixing a few more issues that
were causing non-deterministic failures in the suite. With this patchset,
I'm unable to reproduce any more errors after running the tests in a
continuous loop for many iterations. Before, I was able to reproduce at
least one of the errors fixed in this patchset with just one or two runs.

Changelog:
v2:
- Fixed the comment headers in test_memcg_min() and test_memcg_low() to
reflect the new ordering of child cgroups in those tests.
- Fixed the comment I added in test_memcg_oom_group_leaf_events() to use /* */
for multiline comments, as is the norm according to the kernel style guide.
- Changed some of the conditional logic in test_memcg_oom_group_leaf_events()
that checks for OOM event counts based on memory_localevents to be more
intuitive.

David Vernet (5):
cgroups: Refactor children cgroups in memcg tests
cgroup: Account for memory_recursiveprot in test_memcg_low()
cgroup: Account for memory_localevents in
test_memcg_oom_group_leaf_events()
cgroup: Removing racy check in test_memcg_sock()
cgroup: Fix racy check in alloc_pagecache_max_30M() helper function

tools/testing/selftests/cgroup/cgroup_util.c | 12 +++
tools/testing/selftests/cgroup/cgroup_util.h | 1 +
.../selftests/cgroup/test_memcontrol.c | 77 ++++++++++++-------
3 files changed, 64 insertions(+), 26 deletions(-)

--
2.30.2