Re: [PATCH v2 2/6] mm: handle swap page faults under VMA lock if page is uncontended

From: Peter Xu
Date: Mon Jun 12 2023 - 10:00:51 EST


On Fri, Jun 09, 2023 at 03:34:34PM -0700, Suren Baghdasaryan wrote:
> On Fri, Jun 9, 2023 at 1:45 PM Peter Xu <peterx@xxxxxxxxxx> wrote:
> >
> > On Fri, Jun 09, 2023 at 09:35:49PM +0100, Matthew Wilcox wrote:
> > > On Fri, Jun 09, 2023 at 04:25:42PM -0400, Peter Xu wrote:
> > > > > bool __folio_lock_or_retry(struct folio *folio, struct mm_struct *mm,
> > > > > unsigned int flags)
> > > > > {
> > > > > + /* Can't do this if not holding mmap_lock */
> > > > > + if (flags & FAULT_FLAG_VMA_LOCK)
> > > > > + return false;
> > > >
> > > > If here what we need is the page lock, can we just conditionally release
> > > > either mmap lock or vma lock depending on FAULT_FLAG_VMA_LOCK?
> > >
> > > See patch 5 ...
> >
> > Just reaching.. :)
> >
> > Why not in one shot, then?
>
> I like small incremental changes, but I can squash them if that helps
> in having a complete picture.

Yes that'll be appreciated. IMHO keeping changing semantics of
FAULT_FLAG_VMA_LOCK for the folio lock function in the same small series is
confusing.

--
Peter Xu