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. > > -- > Peter Xu >