OSDN Git Service

damon: vaddr-test: tweak code to make the logic clearer
authorXiaomeng Tong <xiam0nd.tong@gmail.com>
Fri, 29 Apr 2022 21:37:00 +0000 (14:37 -0700)
committerakpm <akpm@linux-foundation.org>
Fri, 29 Apr 2022 21:37:00 +0000 (14:37 -0700)
Move these two lines into the damon_for_each_region loop, it is always for
testing the last region.  And also avoid to use a list iterator 'r'
outside the loop which is considered harmful[1].

[1]:  https://lkml.org/lkml/2022/2/17/1032

Link: https://lkml.kernel.org/r/20220328115252.31675-1-xiam0nd.tong@gmail.com
Signed-off-by: Xiaomeng Tong <xiam0nd.tong@gmail.com>
Reviewed-by: SeongJae Park <sj@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/damon/vaddr-test.h

index 1a55bb6..5431da4 100644 (file)
@@ -281,14 +281,16 @@ static void damon_test_split_evenly_succ(struct kunit *test,
        KUNIT_EXPECT_EQ(test, damon_nr_regions(t), nr_pieces);
 
        damon_for_each_region(r, t) {
-               if (i == nr_pieces - 1)
+               if (i == nr_pieces - 1) {
+                       KUNIT_EXPECT_EQ(test,
+                               r->ar.start, start + i * expected_width);
+                       KUNIT_EXPECT_EQ(test, r->ar.end, end);
                        break;
+               }
                KUNIT_EXPECT_EQ(test,
                                r->ar.start, start + i++ * expected_width);
                KUNIT_EXPECT_EQ(test, r->ar.end, start + i * expected_width);
        }
-       KUNIT_EXPECT_EQ(test, r->ar.start, start + i * expected_width);
-       KUNIT_EXPECT_EQ(test, r->ar.end, end);
        damon_free_target(t);
 }