mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-08-30 11:03:07 -04:00
selftests/damon/sysfs.py: validate memcg_path staging readback
Add a dedicated test at the end of main() that stages memcg_path via sysfs and verifies its readback. Configure the memcg filter before start(), do not call commit(), and ignore start() failures so the test does not depend on CONFIG_MEMCG or cgroup layout. Call stop() for cleanup without checking its return value. Link: https://lore.kernel.org/D2B37130D38E09AC+20260601090634.241864-1-niecheng1@uniontech.com Link: https://lore.kernel.org/20260629144812.134159-3-sj@kernel.org Signed-off-by: Cheng Nie <niecheng1@uniontech.com> Signed-off-by: SJ Park <sj@kernel.org> Reviewed-by: SJ Park <sj@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
@@ -250,6 +250,35 @@ def assert_ctxs_committed(kdamonds):
|
||||
if ctx in ctxs_paused_for_dump:
|
||||
ctx.pause = False
|
||||
|
||||
def test_memcg_filter_memcg_path_staging():
|
||||
global kdamonds
|
||||
memcg_filter = _damon_sysfs.DamosFilter(
|
||||
type_='memcg', matching=True, allow=True, memcg_path='/')
|
||||
kdamonds = _damon_sysfs.Kdamonds(
|
||||
[_damon_sysfs.Kdamond(
|
||||
contexts=[_damon_sysfs.DamonCtx(
|
||||
targets=[_damon_sysfs.DamonTarget(pid=-1)],
|
||||
schemes=[_damon_sysfs.Damos(
|
||||
ops_filters=[memcg_filter])],
|
||||
)])])
|
||||
kdamonds.start()
|
||||
|
||||
shown, rd_err = _damon_sysfs.read_file(
|
||||
os.path.join(memcg_filter.sysfs_dir(), 'memcg_path'))
|
||||
if rd_err is not None:
|
||||
print('memcg_path staging: sysfs read (%s)' % rd_err)
|
||||
kdamonds.stop()
|
||||
exit(1)
|
||||
if shown.rstrip('\n') != memcg_filter.memcg_path:
|
||||
print('memcg_path staging: memcg_path readback '
|
||||
'(shown=%s, expected=%s)' %
|
||||
(shown.rstrip('\n'), memcg_filter.memcg_path))
|
||||
kdamonds.stop()
|
||||
exit(1)
|
||||
|
||||
kdamonds.stop()
|
||||
kdamonds = None
|
||||
|
||||
def main():
|
||||
global kdamonds
|
||||
kdamonds = _damon_sysfs.Kdamonds(
|
||||
@@ -356,5 +385,7 @@ def main():
|
||||
assert_ctxs_committed(kdamonds)
|
||||
kdamonds.stop()
|
||||
|
||||
test_memcg_filter_memcg_path_staging()
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
||||
Reference in New Issue
Block a user