[RFC v6 5/7] mm/damon-test: Add kunit test case for regions age accounting

From: SeongJae Park
Date: Tue Apr 07 2020 - 06:03:09 EST


From: SeongJae Park <sjpark@xxxxxxxxx>

After merges of regions, each region should know their last shape in
proper way to measure the changes from the last modification and reset
the age if the changes are significant. This commit adds kunit test
cases checking whether the regions are knowing their last shape properly
after merges of regions.

Signed-off-by: SeongJae Park <sjpark@xxxxxxxxx>
Reviewed-by: Brendan Higgins <brendanhiggins@xxxxxxxxxx>
---
mm/damon-test.h | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/mm/damon-test.h b/mm/damon-test.h
index 2b6b1fee928d..af6a1e84b8eb 100644
--- a/mm/damon-test.h
+++ b/mm/damon-test.h
@@ -538,6 +538,8 @@ static void damon_test_merge_regions_of(struct kunit *test)

unsigned long saddrs[] = {0, 114, 130, 156, 170};
unsigned long eaddrs[] = {112, 130, 156, 170, 230};
+ unsigned long lsa[] = {0, 114, 130, 156, 184};
+ unsigned long lea[] = {100, 122, 156, 170, 230};
int i;

t = damon_new_task(42);
@@ -554,6 +556,9 @@ static void damon_test_merge_regions_of(struct kunit *test)
r = damon_nth_region_of(t, i);
KUNIT_EXPECT_EQ(test, r->vm_start, saddrs[i]);
KUNIT_EXPECT_EQ(test, r->vm_end, eaddrs[i]);
+ KUNIT_EXPECT_EQ(test, r->last_vm_start, lsa[i]);
+ KUNIT_EXPECT_EQ(test, r->last_vm_end, lea[i]);
+
}
damon_free_task(t);
}
--
2.17.1