[PATCH] mm/damon/vaddr: remove redundant RCU lock
From: IgorpetinDev
Date: Mon Jun 29 2026 - 12:55:27 EST
__damon_va_three_regions() is called only by damon_va_three_regions(),
which already holds mmap_read_lock(). Since mmap_read_lock() is held,
the maple tree and VMA list are protected from concurrent changes.
Remove the unnecessary rcu_read_lock() and rcu_read_unlock() calls.
Signed-off-by: IgorpetinDev <igorpetindev@xxxxxxxxx>
---
mm/damon/vaddr.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/mm/damon/vaddr.c b/mm/damon/vaddr.c
index d27147603..345b89b5d 100644
--- a/mm/damon/vaddr.c
+++ b/mm/damon/vaddr.c
@@ -84,7 +84,6 @@ static int __damon_va_three_regions(struct mm_struct *mm,
* If this is too slow, it can be optimised to examine the maple
* tree gaps.
*/
- rcu_read_lock();
for_each_vma(vmi, vma) {
unsigned long gap;
@@ -105,7 +104,6 @@ static int __damon_va_three_regions(struct mm_struct *mm,
next:
prev = vma;
}
- rcu_read_unlock();
if (!sz_range(&second_gap) || !sz_range(&first_gap))
return -EINVAL;
--
2.47.3