mbox series

[v3,0/5] memcontrol selftests fixups

Message ID 20220524162955.8635-1-mkoutny@suse.com (mailing list archive)
Headers show
Series memcontrol selftests fixups | expand


Michal Koutný May 24, 2022, 4:29 p.m. UTC

I'm just flushing the patches to make memcontrol selftests check the
events behavior we had consensus about (test_memcg_low fails).

(test_memcg_reclaim, test_memcg_swap_max fail for me now but it's present
even before the refactoring.)

The two bigger changes are:
- adjustment of the protected values to make tests succeed with the given
- both test_memcg_low and test_memcg_min check protection of memory in
  populated cgroups (actually as per Documentation/admin-guide/cgroup-v2.rst
  memory.min should not apply to empty cgroups, which is not the case
  currently. Therefore I unified tests with the populated case in order to to
  bring more broken tests).


Changes from v2 (https://lore.kernel.org/r/20220518161859.21565-2-mkoutny@suse.com/)
- rebased on mm-stable 02e34fff195d3a5f67cbb553795dc109a37d1dcf
- collected acked-bys
- proper Fixes: tag

Changes from v1 (https://lore.kernel.org/r/20220513171811.730-1-mkoutny@suse.com/)
- fixed mis-rebase in compilation fix patch,
- added review, ack tags from v1,
- applied feedback from v1 (Octave script in git tree),
- added one more patch extracting common parts,
- rebased on mm-stable bbe832b9db2e.

Michal Koutný (5):
  selftests: memcg: Fix compilation
  selftests: memcg: Expect no low events in unprotected sibling
  selftests: memcg: Adjust expected reclaim values of protected cgroups
  selftests: memcg: Remove protection from top level memcg
  selftests: memcg: Factor out common parts of memory.{low,min} tests

 MAINTAINERS                                   |   1 +
 .../selftests/cgroup/memcg_protection.m       |  89 +++++++
 .../selftests/cgroup/test_memcontrol.c        | 247 +++++-------------
 3 files changed, 152 insertions(+), 185 deletions(-)
 create mode 100644 tools/testing/selftests/cgroup/memcg_protection.m


Roman Gushchin May 25, 2022, 2:26 a.m. UTC | #1
On Tue, May 24, 2022 at 06:29:55PM +0200, Michal Koutny wrote:
> The memory protection test setup and runtime is almost equal for
> memory.low and memory.min cases.
> It makes modification of the common parts prone to mistakes, since the
> protections are similar not only in setup but also in principle, factor
> the common part out.
> Past exceptions between the tests:
> - missing memory.min is fine (kept),
> - test_memcg_low protected orphaned pagecache (adapted like
>   test_memcg_min and we keep the processes of protected memory running).
> The evaluation in two tests is different (OOM of allocator vs low events
> of protégés), this is kept different.
> Signed-off-by: Michal Koutný <mkoutny@suse.com>

Acked-by: Roman Gushchin <roman.gushchin@linux.dev>