Skip to content

Commit

Permalink
mm/mmap.c: get rid of odd jump labels in find_mergeable_anon_vma()
Browse files Browse the repository at this point in the history
The jump labels try_prev and none are not really needed in
find_mergeable_anon_vma(), eliminate them to improve readability.

Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Miaohe Lin <[email protected]>
Reviewed-by: David Hildenbrand <[email protected]>
Reviewed-by: John Hubbard <[email protected]>
Reviewed-by: Wei Yang <[email protected]>
Acked-by: David Rientjes <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
  • Loading branch information
MiaoheLin authored and torvalds committed Jan 31, 2020
1 parent f42f255 commit a67c8ca
Showing 1 changed file with 16 additions and 20 deletions.
36 changes: 16 additions & 20 deletions mm/mmap.c
Original file line number Diff line number Diff line change
Expand Up @@ -1270,34 +1270,30 @@ static struct anon_vma *reusable_anon_vma(struct vm_area_struct *old, struct vm_
*/
struct anon_vma *find_mergeable_anon_vma(struct vm_area_struct *vma)
{
struct anon_vma *anon_vma;
struct vm_area_struct *near;

near = vma->vm_next;
if (!near)
goto try_prev;

anon_vma = reusable_anon_vma(near, vma, near);
if (anon_vma)
return anon_vma;
try_prev:
near = vma->vm_prev;
if (!near)
goto none;

anon_vma = reusable_anon_vma(near, near, vma);
if (anon_vma)
return anon_vma;
none:
struct anon_vma *anon_vma = NULL;

/* Try next first. */
if (vma->vm_next) {
anon_vma = reusable_anon_vma(vma->vm_next, vma, vma->vm_next);
if (anon_vma)
return anon_vma;
}

/* Try prev next. */
if (vma->vm_prev)
anon_vma = reusable_anon_vma(vma->vm_prev, vma->vm_prev, vma);

/*
* We might reach here with anon_vma == NULL if we can't find
* any reusable anon_vma.
* There's no absolute need to look only at touching neighbours:
* we could search further afield for "compatible" anon_vmas.
* But it would probably just be a waste of time searching,
* or lead to too many vmas hanging off the same anon_vma.
* We're trying to allow mprotect remerging later on,
* not trying to minimize memory used for anon_vmas.
*/
return NULL;
return anon_vma;
}

/*
Expand Down

0 comments on commit a67c8ca

Please sign in to comment.