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. I have tested this against a feature branch of lttng-modules which implements handling of page faults for the filename argument of the openat(2) system call. This v6 rebases v5 on top of v6.11-rc5. It requires the "cleanup.h: Introduce DEFINE_INACTIVE_GUARD()/activate_guard()" series. Thanks, Mathieu Link: https://lore.kernel.org/lkml/20240828143719.828968-1-mathieu.desnoyers@xxxxxxxxxxxx/ # cleanup.h dependency Link: https://lore.kernel.org/lkml/20240627152340.82413-1-mathieu.desnoyers@xxxxxxxxxxxx/ # v5 Link: https://lore.kernel.org/lkml/20231120205418.334172-1-mathieu.desnoyers@xxxxxxxxxxxx/ Link: https://lore.kernel.org/lkml/e4e9a2bc-1776-4b51-aba4-a147795a5de1@xxxxxxxxxxxx/ Link: https://lore.kernel.org/lkml/a0ac5f77-411e-4562-9863-81196238f3f5@xxxxxxxxxxxx/ Link: https://lore.kernel.org/lkml/ba543d44-9302-4115-ac4f-d4e9f8d98a90@paulmck-laptop/ Link: https://lore.kernel.org/lkml/20231120221524.GD8262@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/ 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: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: bpf@xxxxxxxxxxxxxxx Cc: Joel Fernandes <joel@xxxxxxxxxxxxxxxxx> Cc: linux-trace-kernel@xxxxxxxxxxxxxxx Mathieu Desnoyers (5): tracing: Introduce faultable tracepoints 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 | 22 ++++++++- include/trace/trace_events.h | 68 ++++++++++++++++++++++++- init/Kconfig | 1 + kernel/trace/bpf_trace.c | 4 +- kernel/trace/trace_events.c | 16 +++--- kernel/trace/trace_fprobe.c | 5 +- kernel/trace/trace_syscalls.c | 52 ++++++++++++++++--- kernel/tracepoint.c | 65 ++++++++++++++---------- 13 files changed, 288 insertions(+), 79 deletions(-) -- 2.39.2