[RFC PATCH v3 0/5] Faultable Tracepoints

From: Mathieu Desnoyers
Date: Mon Oct 02 2023 - 16:25:57 EST


Wire up the system call tracepoints with Tasks Trace RCU to allow
the ftrace, perf, and eBPF tracers to handle page faults.

This series does the initial wire-up allowing tracers to handle page
faults, but leaves out the actual handling of said page faults as future
work.

This series is based on kernel v6.5.5.

Feedback is welcome!

Thanks,

Mathieu

Cc: Michael Jeanson <mjeanson@xxxxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Alexei Starovoitov <ast@xxxxxxxxxx>
Cc: Yonghong Song <yhs@xxxxxx>
Cc: Paul E. McKenney <paulmck@xxxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Cc: Mark Rutland <mark.rutland@xxxxxxx>
Cc: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
Cc: bpf@xxxxxxxxxxxxxxx
Cc: Joel Fernandes <joel@xxxxxxxxxxxxxxxxx>

Mathieu Desnoyers (5):
tracing: Introduce faultable tracepoints (v3)
tracing/ftrace: Add support for faultable tracepoints
tracing/bpf-trace: add support for faultable tracepoints
tracing/perf: add support for faultable tracepoints
tracing: convert sys_enter/exit to faultable tracepoints

include/linux/tracepoint-defs.h | 14 +++++
include/linux/tracepoint.h | 88 ++++++++++++++++++++++---------
include/trace/bpf_probe.h | 21 ++++++--
include/trace/define_trace.h | 7 +++
include/trace/events/syscalls.h | 4 +-
include/trace/perf.h | 27 ++++++++--
include/trace/trace_events.h | 73 ++++++++++++++++++++++++--
init/Kconfig | 1 +
kernel/trace/bpf_trace.c | 10 +++-
kernel/trace/trace_events.c | 26 +++++++---
kernel/trace/trace_fprobe.c | 5 +-
kernel/trace/trace_syscalls.c | 92 +++++++++++++++++++++++----------
kernel/tracepoint.c | 58 +++++++++++----------
13 files changed, 325 insertions(+), 101 deletions(-)

--
2.25.1