mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-08-28 18:05:00 -04:00
Writing a non-zero value to a kdamond's 'refresh_ms' sysfs file should make DAMON periodically update the read-only sysfs files on its own, without the user writing update keywords such as 'update_schemes_stats' to the 'state' file. This behavior has no test coverage. Add a test that starts a kdamond with refresh_ms set and a 'stat' scheme whose default access pattern matches every monitored region, then polls the scheme's 'nr_tried' stats file directly, without requesting an update. The value can become non-zero only via the periodic refresh, so the test confirms refresh_ms works; with refresh_ms disabled the stat stays zero and the test fails. Link: https://lore.kernel.org/20260602131217.2210912-3-linuxoid@gmail.com Link: https://lore.kernel.org/20260629144927.134237-3-sj@kernel.org Signed-off-by: Ruslan Valiyev <linuxoid@gmail.com> Reviewed-by: SJ Park <sj@kernel.org> Signed-off-by: SJ Park <sj@kernel.org> Cc: Shuah Khan <shuah@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
28 lines
839 B
Makefile
28 lines
839 B
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
# Makefile for damon selftests
|
|
|
|
TEST_GEN_FILES += access_memory access_memory_even
|
|
|
|
TEST_FILES = _damon_sysfs.py
|
|
TEST_FILES += drgn_dump_damon_status.py
|
|
TEST_FILES += _common.sh
|
|
|
|
# functionality tests
|
|
TEST_PROGS += sysfs.sh
|
|
TEST_PROGS += sysfs.py
|
|
TEST_PROGS += sysfs_update_schemes_tried_regions_wss_estimation.py
|
|
TEST_PROGS += damos_quota.py damos_quota_goal.py damos_apply_interval.py
|
|
TEST_PROGS += damos_tried_regions.py damon_nr_regions.py
|
|
TEST_PROGS += sysfs_refresh.py
|
|
TEST_PROGS += reclaim.sh lru_sort.sh
|
|
|
|
# regression tests (reproducers of previously found bugs)
|
|
TEST_PROGS += sysfs_update_removed_scheme_dir.sh
|
|
TEST_PROGS += sysfs_update_schemes_tried_regions_hang.py
|
|
TEST_PROGS += sysfs_memcg_path_leak.sh
|
|
TEST_PROGS += sysfs_no_op_commit_break.py
|
|
|
|
EXTRA_CLEAN = __pycache__
|
|
|
|
include ../lib.mk
|