On 15.11.19 07:36, linmiaohe wrote: > From: Miaohe Lin <linmiaohe@xxxxxxxxxx> I'm pro removing unnecessary jump labels. Subject: "mm: get rid of jump labels in find_mergeable_anon_vma()" > > The odd jump label try_prev and none is not really need s/odd jump label/jump labels/ s/is/are/ > in func find_mergeable_anon_vma, eliminate them to > improve readability. > > Signed-off-by: Miaohe Lin <linmiaohe@xxxxxxxxxx> > --- > mm/mmap.c | 18 +++++++----------- > 1 file changed, 7 insertions(+), 11 deletions(-) > > diff --git a/mm/mmap.c b/mm/mmap.c > index 4d4db76a07da..ab980d468a10 100644 > --- a/mm/mmap.c > +++ b/mm/mmap.c > @@ -1276,25 +1276,21 @@ 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 anon_vma *anon_vma = NULL; > struct vm_area_struct *near; > > near = vma->vm_next; > - if (!near) > - goto try_prev; > - > - anon_vma = reusable_anon_vma(near, vma, near); > + if (near) > + anon_vma = reusable_anon_vma(near, vma, near);> if (anon_vma) > return anon_vma; Let me suggest the following instead: /* Try next first */ near = vma->vm_next; if (near) { anon_vma = reusable_anon_vma(near, vma, near); if (anon_vma) return anon_vma; } /* Try prev next */ near = vma->vm_prev; if (near) { 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); > + near = vma->vm_prev; > + if (near) > + anon_vma = reusable_anon_vma(near, near, vma); > if (anon_vma) > return anon_vma; > -none: > + > /* > * There's no absolute need to look only at touching neighbours: > * we could search further afield for "compatible" anon_vmas. > -- Thanks, David / dhildenb