Re: [PATCH v2 25/44] mm: Switch vma_merge(), split_vma(), and __split_vma to vma iterator
From: Liam Howlett
Date: Fri Jan 06 2023 - 14:21:45 EST
* SeongJae Park <sj@xxxxxxxxxx> [230106 12:23]:
> Hello Liam,
>
> On Thu, 5 Jan 2023 19:15:59 +0000 Liam Howlett <liam.howlett@xxxxxxxxxx> wrote:
>
> > From: "Liam R. Howlett" <Liam.Howlett@xxxxxxxxxx>
> >
> > Drop the vmi_* functions and transition all users to use the vma
> > iterator directly.
> >
> > Signed-off-by: Liam R. Howlett <Liam.Howlett@xxxxxxxxxx>
> > ---
> > fs/userfaultfd.c | 14 ++++----
> > include/linux/mm.h | 16 +++-------
> > mm/madvise.c | 6 ++--
> > mm/mempolicy.c | 6 ++--
> > mm/mlock.c | 6 ++--
> > mm/mmap.c | 79 +++++++++++++---------------------------------
> > mm/mprotect.c | 6 ++--
> > mm/mremap.c | 2 +-
> > 8 files changed, 47 insertions(+), 88 deletions(-)
> [...]
> > --- a/include/linux/mm.h
> > +++ b/include/linux/mm.h
> > @@ -2830,22 +2830,16 @@ static inline int vma_adjust(struct vm_area_struct *vma, unsigned long start,
> [...]
> > -extern int vmi__split_vma(struct vma_iterator *vmi, struct mm_struct *,
> > - struct vm_area_struct *, unsigned long addr, int new_below);
> > -extern int split_vma(struct mm_struct *, struct vm_area_struct *,
> > - unsigned long addr, int new_below);
> > -extern int vmi_split_vma(struct vma_iterator *vmi, struct mm_struct *,
> > - struct vm_area_struct *, unsigned long addr, int new_below);
> > +extern int __split_vma(struct vma_iterator *vmi, struct vm_area_struct *,
> > + unsigned long addr, int new_below);
> > +extern int split_vma(struct vma_iterator *vmi, struct vm_area_struct *,
> > + unsigned long addr, int new_below);
>
> I just found this change for split_vma() is applied to !CONFIG_MMU, which the
> definition of split_vma() is not changed, so cause a build error. I posted a
> simple fix for that:
> https://lore.kernel.org/linux-mm/20230106171857.149918-1-sj@xxxxxxxxxx/
>
Thanks. I think I need revisit the nommu side of things with this
change as well. I was hoping to avoid that, but it seems to be more
necessary than I had thought.