linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [RFC PATCH 0/6] selftests/damon: add python and drgn based DAMON sysfs functionality tests
@ 2025-06-22 21:03 SeongJae Park
  2025-06-22 21:03 ` [RFC PATCH 1/6] selftests/damon: add drgn script for extracting damon status SeongJae Park
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: SeongJae Park @ 2025-06-22 21:03 UTC (permalink / raw)
  Cc: SeongJae Park, Andrew Morton, Shuah Khan, damon, kernel-team,
	linux-kernel, linux-kselftest, linux-mm

DAMON sysfs interface is the bridge between the user space and the
kernel space for DAMON parameters.  There is no good and simple test to
see if the parameters are set as expected.  Existing DAMON selftests
therefore test end-to-end features.  For example, damos_quota_goal.py
runs a DAMOS scheme with quota goal set against a test program running
an artificial access pattern, and see if the result is as expected.
Such tests cover only a few part of DAMON.  Adding more tests is also
complicated.  Finally, the reliability of the test itself on different
systems is bad.

'drgn' is a tool that can extract kernel internal data structures like
DAMON parameters.  Add a test that passes specific DAMON parameters via
DAMON sysfs reusing _damon_sysfs.py, extract resulting DAMON parameters
via 'drgn', and compare those.  Note that this test is not adding
exhaustive tests of all DAMON parameters and input combinations but very
basic things.  Advancing the test infrastructure and adding more tests
are future works.

SeongJae Park (6):
  selftests/damon: add drgn script for extracting damon status
  selftests/damon/_damon_sysfs: set Kdamond.pid in start()
  selftests/damon: add python and drgn-based DAMON sysfs test
  selftests/damon/sysfs.py: test monitoring attribute parameters
  selftests/damon/sysfs.py: test adaptive targets parameter
  selftests/damon/sysfs.py: test DAMOS schemes parameters setup

 tools/testing/selftests/damon/Makefile        |   1 +
 tools/testing/selftests/damon/_damon_sysfs.py |   3 +
 .../selftests/damon/drgn_dump_damon_status.py | 161 ++++++++++++++++++
 tools/testing/selftests/damon/sysfs.py        | 115 +++++++++++++
 4 files changed, 280 insertions(+)
 create mode 100755 tools/testing/selftests/damon/drgn_dump_damon_status.py
 create mode 100755 tools/testing/selftests/damon/sysfs.py


base-commit: 59f618c718d036132b59bcf997943d4f5520149f
-- 
2.39.5


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2025-06-22 21:03 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-22 21:03 [RFC PATCH 0/6] selftests/damon: add python and drgn based DAMON sysfs functionality tests SeongJae Park
2025-06-22 21:03 ` [RFC PATCH 1/6] selftests/damon: add drgn script for extracting damon status SeongJae Park
2025-06-22 21:03 ` [RFC PATCH 2/6] selftests/damon/_damon_sysfs: set Kdamond.pid in start() SeongJae Park
2025-06-22 21:03 ` [RFC PATCH 3/6] selftests/damon: add python and drgn-based DAMON sysfs test SeongJae Park
2025-06-22 21:03 ` [RFC PATCH 4/6] selftests/damon/sysfs.py: test monitoring attribute parameters SeongJae Park
2025-06-22 21:03 ` [RFC PATCH 5/6] selftests/damon/sysfs.py: test adaptive targets parameter SeongJae Park
2025-06-22 21:03 ` [RFC PATCH 6/6] selftests/damon/sysfs.py: test DAMOS schemes parameters setup SeongJae Park

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).