[RFC PATCH 1/6] mm/damon/tests/core-kunit: test damon_commit_filter()
From: SJ Park
Date: Wed Jul 29 2026 - 11:00:02 EST
Add kunit test to ensure damon_commit_filter() updates destination
filter as expected for valid inputs.
Signed-off-by: SJ Park <sj@xxxxxxxxxx>
---
mm/damon/tests/core-kunit.h | 40 +++++++++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)
diff --git a/mm/damon/tests/core-kunit.h b/mm/damon/tests/core-kunit.h
index c7bda8aadef3f..ff864402e9c75 100644
--- a/mm/damon/tests/core-kunit.h
+++ b/mm/damon/tests/core-kunit.h
@@ -1354,6 +1354,45 @@ static void damon_test_commit_target_regions(struct kunit *test)
(unsigned long[][2]) {{3, 8}, {8, 10}}, 2);
}
+static void damon_test_commit_filter_for(struct kunit *test,
+ struct damon_filter *dst, struct damon_filter *src)
+{
+ damon_commit_filter(dst, src);
+ KUNIT_EXPECT_EQ(test, dst->type, src->type);
+ KUNIT_EXPECT_EQ(test, dst->matching, src->matching);
+ KUNIT_EXPECT_EQ(test, dst->allow, src->allow);
+ switch (src->type) {
+ case DAMOS_FILTER_TYPE_MEMCG:
+ KUNIT_EXPECT_EQ(test, dst->memcg_id, src->memcg_id);
+ break;
+ default:
+ break;
+ }
+}
+
+static void damon_test_commit_filter(struct kunit *test)
+{
+ struct damon_filter dst = {
+ .type = DAMON_FILTER_TYPE_ANON,
+ .matching = false,
+ .allow = false,
+ };
+
+ damon_test_commit_filter_for(test, &dst,
+ &(struct damon_filter){
+ .type = DAMON_FILTER_TYPE_ANON,
+ .matching = true,
+ .allow = true,
+ });
+ damon_test_commit_filter_for(test, &dst,
+ &(struct damon_filter){
+ .type = DAMON_FILTER_TYPE_MEMCG,
+ .matching = false,
+ .allow = false,
+ .memcg_id = 123,
+ });
+}
+
static void damon_test_commit_ctx(struct kunit *test)
{
struct damon_ctx *src, *dst;
@@ -1705,6 +1744,7 @@ static struct kunit_case damon_test_cases[] = {
KUNIT_CASE(damos_test_commit_pageout),
KUNIT_CASE(damos_test_commit_migrate_hot),
KUNIT_CASE(damon_test_commit_target_regions),
+ KUNIT_CASE(damon_test_commit_filter),
KUNIT_CASE(damon_test_commit_ctx),
KUNIT_CASE(damos_test_filter_out),
KUNIT_CASE(damon_test_feed_loop_next_input),
--
2.47.3