[PATCH 0/8] selftests/damon: test DAMOS tried regions and {min,max}_nr_regions

SeongJae Park
2024-06-25T18:05:44Z

This patch series fix a minor issue in a program for DAMON selftest, and
implement new functionality selftests for DAMOS tried regions and
{min,max}_nr_regions. The test for max_nr_regions also test the
recovery from online tuning-caused limit violation, which was fixed by a
previous patch [1] titled "mm/damon/core: merge regions aggressively
when max_nr_regions is unmet".

The first patch fixes a minor problem in the articial memory access
pattern generator for tests. Following 3 patches (2-4) implement
schemes tried regions test. Then a couple of patches (5-6) implementing
static setup based {min,max}_nr_regions functionality test follows.
Final two patches (7-8) implement dynamic max_nr_regions update test.

[1] https://lore.kernel.org/20240624210650.53960C2BBFC@smtp.kernel.org

SeongJae Park (8):
selftests/damon/access_memory: use user-defined region size
selftests/damon/_damon_sysfs: support schemes_update_tried_regions
selftests/damon: implement a program for even-numbered memory regions
access
selftests/damon: implement DAMOS tried regions test
selftests/damon/_damon_sysfs: implement kdamonds stop function
selftests/damon: implement test for min/max_nr_regions
_damon_sysfs: implement commit() for online parameters update
selftests/damon/damon_nr_regions: test online-tuned max_nr_regions

tools/testing/selftests/damon/Makefile | 3 +-
tools/testing/selftests/damon/_damon_sysfs.py | 65 +++++++-
tools/testing/selftests/damon/access_memory.c | 2 +-
.../selftests/damon/access_memory_even.c | 42 +++++
.../selftests/damon/damon_nr_regions.py | 145 ++++++++++++++++++
.../selftests/damon/damos_tried_regions.py | 65 ++++++++
6 files changed, 319 insertions(+), 3 deletions(-)
create mode 100644 tools/testing/selftests/damon/access_memory_even.c
create mode 100644 tools/testing/selftests/damon/damon_nr_regions.py
create mode 100644 tools/testing/selftests/damon/damos_tried_regions.py

base-commit: 99348045d11f3bac71146b381f90b0aa39855ee7
--
2.39.2