Re: [PATCH v2 0/3] per-vma locks in userfaultfd

From: Liam R. Howlett
Date: Mon Jan 29 2024 - 15:39:41 EST


* Lokesh Gidra <lokeshgidra@xxxxxxxxxx> [240129 14:35]:
> Performing userfaultfd operations (like copy/move etc.) in critical
> section of mmap_lock (read-mode) causes significant contention on the
> lock when operations requiring the lock in write-mode are taking place
> concurrently. We can use per-vma locks instead to significantly reduce
> the contention issue.

Is this really an issue? I'm surprised so much userfaultfd work is
happening to create contention. Can you share some numbers and how your
patch set changes the performance?

>
> Changes since v1 [1]:
> - rebase patches on 'mm-unstable' branch
>
> [1] https://lore.kernel.org/all/20240126182647.2748949-1-lokeshgidra@xxxxxxxxxx/
>
> Lokesh Gidra (3):
> userfaultfd: move userfaultfd_ctx struct to header file
> userfaultfd: protect mmap_changing with rw_sem in userfaulfd_ctx
> userfaultfd: use per-vma locks in userfaultfd operations
>
> fs/userfaultfd.c | 86 ++++---------
> include/linux/userfaultfd_k.h | 75 ++++++++---
> mm/userfaultfd.c | 229 ++++++++++++++++++++++------------
> 3 files changed, 229 insertions(+), 161 deletions(-)
>
> --
> 2.43.0.429.g432eaa2c6b-goog
>
>