Messages in this thread Patch in this message | | | From | Liam Howlett <> | Subject | [PATCH v3 30/48] mm/damon: Stop using vma_mas_store() for maple tree store | Date | Tue, 17 Jan 2023 02:34:19 +0000 |
| |
From: "Liam R. Howlett" <Liam.Howlett@oracle.com>
Prepare for the removal of the vma_mas_store() function by open coding the maple tree store in this test code. Set the range of the maple state and call the store function directly.
Cc: SeongJae Park <sj@kernel.org> Cc: damon@lists.linux.dev Reported-by: kernel test robot <lkp@intel.com> Signed-off-by: Liam R. Howlett <Liam.Howlett@oracle.com> --- mm/damon/vaddr-test.h | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-)
diff --git a/mm/damon/vaddr-test.h b/mm/damon/vaddr-test.h index bce37c487540..6098933d3272 100644 --- a/mm/damon/vaddr-test.h +++ b/mm/damon/vaddr-test.h @@ -14,19 +14,26 @@ #include <kunit/test.h> -static void __link_vmas(struct maple_tree *mt, struct vm_area_struct *vmas, +static int __link_vmas(struct maple_tree *mt, struct vm_area_struct *vmas, ssize_t nr_vmas) { - int i; + int i, ret = -ENOMEM; MA_STATE(mas, mt, 0, 0); if (!nr_vmas) - return; + return -ENOENT; mas_lock(&mas); - for (i = 0; i < nr_vmas; i++) - vma_mas_store(&vmas[i], &mas); + for (i = 0; i < nr_vmas; i++) { + mas_set_range(&mas, vmas[i].vm_start, vmas[i].vm_end - 1); + if (mas_store_gfp(&mas, &vmas[i], GFP_KERNEL)) + goto failed; + } + ret = 0; + +failed: mas_unlock(&mas); + return ret; } /* @@ -71,7 +78,7 @@ static void damon_test_three_regions_in_vmas(struct kunit *test) }; mt_init_flags(&mm.mm_mt, MM_MT_FLAGS); - __link_vmas(&mm.mm_mt, vmas, ARRAY_SIZE(vmas)); + KUNIT_EXPECT_EQ(test, __link_vmas(&mm.mm_mt, vmas, ARRAY_SIZE(vmas)), 0); __damon_va_three_regions(&mm, regions); -- 2.35.1
| |