projects
/
linux-block.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
85ab779
)
mm: remove unnecessary write to vma iterator in __vma_adjust()
author
Liam R. Howlett
<Liam.Howlett@Oracle.com>
Fri, 20 Jan 2023 16:26:35 +0000
(11:26 -0500)
committer
Andrew Morton
<akpm@linux-foundation.org>
Fri, 10 Feb 2023 00:51:36 +0000
(16:51 -0800)
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.
Link:
https://lkml.kernel.org/r/20230120162650.984577-35-Liam.Howlett@oracle.com
Signed-off-by: Liam R. Howlett <Liam.Howlett@oracle.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/mmap.c
patch
|
blob
|
blame
|
history
diff --git
a/mm/mmap.c
b/mm/mmap.c
index 330de1ab6a8d8bdbfad3d133fbdad260751ddeff..bd3ccfb4d9e0e3bc139e172ad67c263e44606c91 100644
(file)
--- a/
mm/mmap.c
+++ b/
mm/mmap.c
@@
-719,10
+719,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;
}