[PATCH perf/core 0/4] Improve performance and scalability of uretprobes

From: Andrii Nakryiko
Date: Thu Dec 05 2024 - 19:24:28 EST


Include performance and multi-CPU scalability of uretprobes by avoiding
a rather expensive (and somewhat limiting in terms of multi-CPU scalability)
use of kmalloc()+kfree() combo for short-lived struct return_instance, used
for keeping track of pending return uprobes.

First few patches are preparatory doing some internal refactoring and setting
things up for the actual struct return_instance reuse done in the last patch
of the series.

Andrii Nakryiko (4):
uprobes: simplify session consumer tracking
uprobes: decouple return_instance list traversal and freeing
uprobes: ensure return_instance is detached from the list before
freeing
uprobes: reuse return_instances between multiple uretprobes within
task

include/linux/uprobes.h | 16 +++-
kernel/events/uprobes.c | 176 +++++++++++++++++++++++++++-------------
2 files changed, 133 insertions(+), 59 deletions(-)

--
2.43.5