[PATCH 0/2] uprobes,mm: speculative lockless VMA-to-uprobe lookup
From: Andrii Nakryiko
Date: Fri Sep 06 2024 - 01:12:24 EST
Implement speculative (lockless) resolution of VMA to inode to uprobe,
bypassing the need to take mmap_lock for reads, if possible. Patch #1 by Suren
adds mm_struct helpers that help detect whether mm_struct were changed, which
is used by uprobe logic to validate that speculative results can be trusted
after all the lookup logic results in a valid uprobe instance.
I ran a few will-it-scale benchmarks to sanity check that patch #1 doesn't
introduce any noticeable regressions. Which it seems it doesn't.
Andrii Nakryiko (1):
uprobes: add speculative lockless VMA-to-inode-to-uprobe resolution
Suren Baghdasaryan (1):
mm: introduce mmap_lock_speculation_{start|end}
include/linux/mm_types.h | 3 +++
include/linux/mmap_lock.h | 53 +++++++++++++++++++++++++++++++--------
kernel/events/uprobes.c | 51 +++++++++++++++++++++++++++++++++++++
kernel/fork.c | 3 ---
4 files changed, 97 insertions(+), 13 deletions(-)
--
2.43.5