DAMON virtual address operation set (vaddr) unit tests is using
damon_add_region() for setup of DAMON monitoring target region
boundaries setup.  But, damon_set_regions() is designed for exactly the
purpose.  All other DAMON API callers use the function for the purpose.
Replace damon_add_region() usage in the unit tests with
damon_set_regions(), for unifying the use case and reducing the
maintenance cost.

Signed-off-by: SeongJae Park <[email protected]>
---
 mm/damon/tests/vaddr-kunit.h | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/mm/damon/tests/vaddr-kunit.h b/mm/damon/tests/vaddr-kunit.h
index 98e734d77d517..23be9c3be75fa 100644
--- a/mm/damon/tests/vaddr-kunit.h
+++ b/mm/damon/tests/vaddr-kunit.h
@@ -132,20 +132,24 @@ static void damon_do_test_apply_three_regions(struct 
kunit *test,
                                unsigned long *expected, int nr_expected)
 {
        struct damon_target *t;
+       struct damon_addr_range *ranges;
        struct damon_region *r;
        int i;
 
        t = damon_new_target();
        if (!t)
                kunit_skip(test, "target alloc fail");
+
+       ranges = kmalloc_array(nr_regions / 2, sizeof(*ranges), GFP_KERNEL);
+       if (!ranges) {
+               damon_destroy_target(t, NULL);
+               kunit_skip(test, "ranges alloc fail");
+       }
        for (i = 0; i < nr_regions / 2; i++) {
-               r = damon_new_region(regions[i * 2], regions[i * 2 + 1]);
-               if (!r) {
-                       damon_destroy_target(t, NULL);
-                       kunit_skip(test, "region alloc fail");
-               }
-               damon_add_region(r, t);
+               ranges[i].start = regions[i * 2];
+               ranges[i].end = regions[i * 2 + 1];
        }
+       damon_set_regions(t, ranges, nr_regions / 2, DAMON_MIN_REGION_SZ);
 
        damon_set_regions(t, three_regions, 3, DAMON_MIN_REGION_SZ);
 
-- 
2.47.3

Reply via email to