[for-linus][PATCH 0/2] tracing: A couple of fixes for 6.13
From: Steven Rostedt
Date: Wed Dec 04 2024 - 21:41:23 EST
tracing fixes for v6.13:
- Fix trace histogram sort function cmp_entries_dup()
The sort function cmp_entries_dup() returns either 1 or 0, and not
-1 if parameter "a" is less than "b" by memcmp().
- Fix archs that call trace_hardirqs_off() without RCU watching
Both x86 and arm64 no longer call any tracepoints with RCU not
watching. It was assumed that it was safe to get rid of
trace_*_rcuidle() version of the tracepoint calls. This was needed
to get rid of the SRCU protection and be able to implement features
like faultable traceponits and add rust tracepoints.
Unfortunately, there were a few architectures that still relied on
that logic. There's only one file that has tracepoints that are
called without RCU watching. Add macro logic around the tracepoints
for architectures that do not have CONFIG_ARCH_WANTS_NO_INSTR defined
will check if the code is in the idle path (the only place RCU isn't
watching), and enable RCU around calling the tracepoint, but only
do it if the tracepoint is enabled.
git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace.git
trace/fixes
Head SHA1: 2f88ccdee3326a6197573623cd31947391eb5579
Kuan-Wei Chiu (1):
tracing: Fix cmp_entries_dup() to respect sort() comparison rules
Steven Rostedt (1):
tracing: Fix archs that still call tracepoints without RCU watching
----
kernel/trace/trace_preemptirq.c | 43 +++++++++++++++++++++++++++++++++++------
kernel/trace/tracing_map.c | 6 +-----
2 files changed, 38 insertions(+), 11 deletions(-)