[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20241122151054.7e60cbb9@gandalf.local.home>
Date: Fri, 22 Nov 2024 15:10:54 -0500
From: Steven Rostedt <rostedt@...dmis.org>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: LKML <linux-kernel@...r.kernel.org>, Masami Hiramatsu
<mhiramat@...nel.org>, Mathieu Desnoyers <mathieu.desnoyers@...icios.com>,
Alice Ryhl <aliceryhl@...gle.com>, Miguel Ojeda <ojeda@...nel.org>
Subject: [GIT PULL] tracing: Add Rust support to trace events for v6.13
Linus,
Add Rust support for trace events:
- Allow Rust code to have trace events
Trace events is a popular way to debug what is happening inside the kernel
or just to find out what is happening. Rust code is being added to the
Linux kernel but it currently does not support the tracing infrastructure.
Add support of trace events inside Rust code.
[
Note, this code and the diffstat are dependent on the trace topic branch
getting pulled in first:
https://lore.kernel.org/all/20241120214531.45d75a60@gandalf.local.home/
This work was started on that branch to avoid conflicts. But they have
since split, where the trace branch has code that is not in this branch.
]
Please pull the latest trace-rust-v6.13 tree, which can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace.git
trace-rust-v6.13
Tag SHA1: 054686ef1afc70c0676fe2d2594cf4dd63923719
Head SHA1: 8af7a50167833b6b22e30c008bbf95ab3ff1a5fb
Alice Ryhl (6):
rust: add static_branch_unlikely for static_key_false
rust: add tracepoint support
rust: samples: add tracepoint to Rust sample
jump_label: adjust inline asm to be consistent
rust: add arch_static_branch
jump_label: rust: pass a mut ptr to `static_key_count`
Miguel Ojeda (2):
samples: rust: fix `rust_print` build making it a combined module
rust: jump_label: skip formatting generated file
----
MAINTAINERS | 1 +
arch/arm/include/asm/jump_label.h | 14 ++--
arch/arm64/include/asm/jump_label.h | 20 ++++--
arch/loongarch/include/asm/jump_label.h | 16 +++--
arch/riscv/include/asm/jump_label.h | 50 ++++++++-------
arch/x86/include/asm/jump_label.h | 35 ++++------
include/linux/tracepoint.h | 28 +++++++-
include/trace/define_trace.h | 12 ++++
include/trace/events/rust_sample.h | 31 +++++++++
rust/Makefile | 6 ++
rust/bindings/bindings_helper.h | 3 +
rust/helpers/helpers.c | 1 +
rust/helpers/jump_label.c | 14 ++++
rust/kernel/.gitignore | 3 +
rust/kernel/generated_arch_static_branch_asm.rs.S | 7 ++
rust/kernel/jump_label.rs | 74 ++++++++++++++++++++++
rust/kernel/lib.rs | 37 +++++++++++
rust/kernel/tracepoint.rs | 49 ++++++++++++++
samples/rust/Makefile | 3 +
samples/rust/rust_print_events.c | 8 +++
samples/rust/{rust_print.rs => rust_print_main.rs} | 18 ++++++
scripts/Makefile.build | 9 ++-
22 files changed, 375 insertions(+), 64 deletions(-)
create mode 100644 include/trace/events/rust_sample.h
create mode 100644 rust/helpers/jump_label.c
create mode 100644 rust/kernel/.gitignore
create mode 100644 rust/kernel/generated_arch_static_branch_asm.rs.S
create mode 100644 rust/kernel/jump_label.rs
create mode 100644 rust/kernel/tracepoint.rs
create mode 100644 samples/rust/rust_print_events.c
rename samples/rust/{rust_print.rs => rust_print_main.rs} (85%)
---------------------------
Powered by blists - more mailing lists