From patchwork Mon Oct 2 20:25:26 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mathieu Desnoyers X-Patchwork-Id: 13406576 Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net [23.128.96.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 79829200D8 for ; Mon, 2 Oct 2023 20:25:44 +0000 (UTC) Received: from smtpout.efficios.com (smtpout.efficios.com [167.114.26.122]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 75F2CE0; Mon, 2 Oct 2023 13:25:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=efficios.com; s=smtpout1; t=1696278338; bh=3b0xY900x5Ga7B1Di/fAn9zUiD76TyAJd3fltNUcrkE=; h=From:To:Cc:Subject:Date:From; b=diM2fCE6voKFZTAhGB8J6dK6Lg7Ie3GlgN99Ma25jYPl4CdsZgwlVt0JqlWrsFEz4 uopRIz1U2p1e2J/FVKg5fDh8yJ61bPWG576Pb3dRD5N+IPwpqcXBzTAlYlr8NEZSA4 iukPfzwImQPPQhDlrYr6pDySh23oojfyi18F65zNQChaD/XZ+/U9WMAA0bo6kCg4nw eURkrWFA6t3GYt9BcgA46Xwk6Lktw2MFQsa0BfxctiZGz3rl1vd+sUnKb/yHf2ect/ CGBs63RpmiWrWD7FcSR6jkPUDi2YljOhZSwVhwG07LMVkOwrM9uM/cGj7pU6YPmX3V 0tx763L50jR7w== Received: from localhost.localdomain (192-222-143-198.qc.cable.ebox.net [192.222.143.198]) by smtpout.efficios.com (Postfix) with ESMTPSA id 4RzssG4vbhz1V7n; Mon, 2 Oct 2023 16:25:38 -0400 (EDT) From: Mathieu Desnoyers To: Steven Rostedt Cc: linux-kernel@vger.kernel.org, Mathieu Desnoyers , Michael Jeanson , Peter Zijlstra , Alexei Starovoitov , Yonghong Song , "Paul E . McKenney" , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , bpf@vger.kernel.org, Joel Fernandes Subject: [RFC PATCH v3 0/5] Faultable Tracepoints Date: Mon, 2 Oct 2023 16:25:26 -0400 Message-Id: <20231002202531.3160-1-mathieu.desnoyers@efficios.com> X-Mailer: git-send-email 2.25.1 Precedence: bulk X-Mailing-List: bpf@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net X-Patchwork-State: RFC 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 Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Alexei Starovoitov Cc: Yonghong Song Cc: Paul E. McKenney Cc: Ingo Molnar Cc: Arnaldo Carvalho de Melo Cc: Mark Rutland Cc: Alexander Shishkin Cc: Jiri Olsa Cc: Namhyung Kim Cc: bpf@vger.kernel.org Cc: Joel Fernandes 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(-)