[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20230117023335.1690727-35-Liam.Howlett@oracle.com>
Date: Tue, 17 Jan 2023 02:34:20 +0000
From: Liam Howlett <liam.howlett@...cle.com>
To: "linux-mm@...ck.org" <linux-mm@...ck.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Andrew Morton <akpm@...ux-foundation.org>,
"maple-tree@...ts.infradead.org" <maple-tree@...ts.infradead.org>
CC: Liam Howlett <liam.howlett@...cle.com>,
Liam Howlett <liam.howlett@...cle.com>
Subject: [PATCH v3 34/48] mm: Remove unnecessary write to vma iterator in
__vma_adjust()
From: "Liam R. Howlett" <Liam.Howlett@...cle.com>
If the vma start address is going to change due to an insert, then it is
safe to not write the vma to the tree. The write of the insert vma will
alter the tree as necessary.
Signed-off-by: Liam R. Howlett <Liam.Howlett@...cle.com>
---
mm/mmap.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/mm/mmap.c b/mm/mmap.c
index 4b4d7b611c3e..b37206f89e59 100644
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -722,10 +722,12 @@ int __vma_adjust(struct vma_iterator *vmi, struct vm_area_struct *vma,
}
if (start != vma->vm_start) {
- if ((vma->vm_start < start) &&
- (!insert || (insert->vm_end != start))) {
- vma_iter_clear(vmi, vma->vm_start, start);
- VM_WARN_ON(insert && insert->vm_start > vma->vm_start);
+ if (vma->vm_start < start) {
+ if (!insert || (insert->vm_end != start)) {
+ vma_iter_clear(vmi, vma->vm_start, start);
+ vma_iter_set(vmi, start);
+ VM_WARN_ON(insert && insert->vm_start > vma->vm_start);
+ }
} else {
vma_changed = true;
}
--
2.35.1
Powered by blists - more mailing lists