Re: [PATCH v7 4/4] userfaultfd: use per-vma locks in userfaultfd operations
From: Suren Baghdasaryan
Date: Thu Jan 23 2025 - 12:46:51 EST
On Thu, Jan 23, 2025 at 9:15 AM David Hildenbrand <david@xxxxxxxxxx> wrote:
>
> >>
> >> ┌────────────┐TASK_SIZE
> >> │ │
> >> │ │
> >> │ │mmap VOLATILE
> >> ┼────────────┤
> >> │ │
> >> │ │
> >> │ │
> >> │ │
> >> │ │default mmap
> >> │ │
> >> │ │
> >> └────────────┘
> >>
> >> VMAs in the volatile region are assigned their own volatile_mmap_lock,
> >> which is independent of the mmap_lock for the non-volatile region.
> >> Additionally, we ensure that no single VMA spans the boundary between
> >> the volatile and non-volatile regions. This separation prevents the
> >> frequent modifications of a small number of volatile VMAs from blocking
> >> other operations on a large number of non-volatile VMAs.
> >
> > I think really overall this will be solving one can of worms by introducing
> > another can of very large worms in space :P but perhaps I am missing
> > details here.
>
> Fully agreed; not a big fan :)
+1. Let's not add more coarse-grained locks in mm. Discussing this at
LSFMM as Liam suggested would be a good idea. I'm definitely
interested.
>
> --
> Cheers,
>
> David / dhildenb
>