Re: [PATCH v2 tip/perf/core 1/5] mm: introduce mmap_lock_speculation_{start|end}
From: Andrii Nakryiko <hidden>
Date: 2024-10-07 17:05:28
Also in:
bpf, linux-mm, lkml
+cc Liam, sorry, seems like I forgot to add you to the entire patch set on initial submission. On Tue, Oct 1, 2024 at 3:52 PM Andrii Nakryiko [off-list ref] wrote:
From: Suren Baghdasaryan <surenb@google.com> Add helper functions to speculatively perform operations without read-locking mmap_lock, expecting that mmap_lock will not be write-locked and mm is not modified from under us. Suggested-by: Peter Zijlstra <peterz@infradead.org> Signed-off-by: Suren Baghdasaryan <surenb@google.com> Signed-off-by: Andrii Nakryiko <andrii@kernel.org> Link: https://lore.kernel.org/bpf/20240912210222.186542-1-surenb@google.com (local) --- include/linux/mm_types.h | 3 ++ include/linux/mmap_lock.h | 72 ++++++++++++++++++++++++++++++++------- kernel/fork.c | 3 -- 3 files changed, 63 insertions(+), 15 deletions(-)
Are memory-management folks OK with these changes? It would be nice to get some acks, if so, and I'd include it into respin, fixing minor things in uprobe patches. Thank you! Note, while this is initially needed for uprobe functionality, having an ability to quickly change whether mm_struct changed inbetween some speculative querying is generally useful functionality, and I believe it would help eliminating mmap_lock usage from /proc/PID/maps code. Which is a great outcome for everyone, as that mmap_lock can be quite disruptive in production workloads. So please don't see it as some irrelevant uprobe-related requirement, the applicability of this is much wider. [...]