[for-linus][PATCH 0/3] tracing: Fixes for 6.16

From: Steven Rostedt
Date: Fri Jun 06 2025 - 12:42:53 EST


[ Resending as my scripts messed up the first patch email addresses
and the sending crashed ]

tracing fixes:

- Fix regression of waiting a long time on updating trace event filters

When the faultable trace points were added, it needed task trace RCU
synchronization. This was added to the tracepoint_synchronize_unregister()
function. The filter logic always called this function whenever it
updated the trace event filters before freeing the old filters.
This increased the time of "trace-cmd record" from taking 13 seconds
to running over 2 minutes to complete.

Move the freeing of the filters to call_rcu*() logic, which brings the
time back down to 13 seconds.

- Fix ring_buffer_subbuf_order_set() error path lock protection

The error path of the ring_buffer_subbuf_order_set() released the
mutex too early and allowed subsequent accesses to setting the
subbuffer size to corrupt the data and cause a bug.

By moving the mutex locking to the end of the error path, it prevents
the reentrant access to the critical data and also allows the function
to convert the taking of the mutex over to the guard() logic.

- Remove unused power management clock events

The clock events were added in 2010 for power management. In 2011
arm used them. In 2013 the code they were used in was removed.
These events have been wasting memory since then.

git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace.git
trace/fixes

Head SHA1: 28e6aecb1a79e178d870aee0b71f97cca669fd9b


Dmitry Antipov (1):
ring-buffer: Fix buffer locking in ring_buffer_subbuf_order_set()

Steven Rostedt (2):
tracing: Fix regression of filter waiting a long time on RCU synchronization
tracing: PM: Remove unused clock events

----
include/trace/events/power.h | 47 -----------
kernel/trace/ring_buffer.c | 4 +-
kernel/trace/trace_events_filter.c | 164 ++++++++++++++++++++++++++++---------
3 files changed, 128 insertions(+), 87 deletions(-)