Skip to content

Commit 53f8005

Browse files
sjp38akpm00
authored andcommitted
selftests/damon/sysfs.py: test DAMOS filters commitment
Current DAMOS scheme commitment assertion is not testing DAMOS filters. Add the test. Link: https://lkml.kernel.org/r/[email protected] Signed-off-by: SeongJae Park <[email protected]> Cc: Shuah Khan <[email protected]> Signed-off-by: Andrew Morton <[email protected]>
1 parent f22ff7b commit 53f8005

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

tools/testing/selftests/damon/sysfs.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,21 @@ def assert_migrate_dests_committed(dests, dump):
8080
assert_true(dump['node_id_arr'][idx] == dest.id, 'node_id', dump)
8181
assert_true(dump['weight_arr'][idx] == dest.weight, 'weight', dump)
8282

83+
def assert_filter_committed(filter_, dump):
84+
assert_true(filter_.type_ == dump['type'], 'type', dump)
85+
assert_true(filter_.matching == dump['matching'], 'matching', dump)
86+
assert_true(filter_.allow == dump['allow'], 'allow', dump)
87+
# TODO: check memcg_path and memcg_id if type is memcg
88+
if filter_.type_ == 'addr':
89+
assert_true([filter_.addr_start, filter_.addr_end] ==
90+
dump['addr_range'], 'addr_range', dump)
91+
elif filter_.type_ == 'target':
92+
assert_true(filter_.target_idx == dump['target_idx'], 'target_idx',
93+
dump)
94+
elif filter_.type_ == 'hugepage_size':
95+
assert_true([filter_.min_, filter_.max_] == dump['sz_range'],
96+
'sz_range', dump)
97+
8398
def assert_access_pattern_committed(pattern, dump):
8499
assert_true(dump['min_sz_region'] == pattern.size[0], 'min_sz_region',
85100
dump)
@@ -115,6 +130,11 @@ def assert_scheme_committed(scheme, dump):
115130
assert_migrate_dests_committed(scheme.dests, dump['migrate_dests'])
116131
assert_quota_committed(scheme.quota, dump['quota'])
117132
assert_watermarks_committed(scheme.watermarks, dump['wmarks'])
133+
# TODO: test filters directory
134+
for idx, f in enumerate(scheme.core_filters.filters):
135+
assert_filter_committed(f, dump['filters'][idx])
136+
for idx, f in enumerate(scheme.ops_filters.filters):
137+
assert_filter_committed(f, dump['ops_filters'][idx])
118138

119139
def main():
120140
kdamonds = _damon_sysfs.Kdamonds(

0 commit comments

Comments
 (0)