Re: [for-next][PATCH 4/6] rcupdate_trace: Define rcu_tasks_trace lock guard

From: Paul E. McKenney
Date: Tue Nov 26 2024 - 13:30:44 EST


On Sun, Nov 24, 2024 at 06:49:44PM -0500, Steven Rostedt wrote:
> From: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx>
>
> Define a rcu_tasks_trace lock guard for use by the syscall enter/exit
> tracepoints.
>
> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> Cc: Michael Jeanson <mjeanson@xxxxxxxxxxxx>
> Cc: Masami Hiramatsu <mhiramat@xxxxxxxxxx>
> 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: Andrii Nakryiko <andrii.nakryiko@xxxxxxxxx>
> Cc: bpf@xxxxxxxxxxxxxxx
> Cc: Joel Fernandes <joel@xxxxxxxxxxxxxxxxx>
> Cc: Jordan Rife <jrife@xxxxxxxxxx>
> Cc: linux-trace-kernel@xxxxxxxxxxxxxxx
> Link: https://lore.kernel.org/20241123153031.2884933-4-mathieu.desnoyers@xxxxxxxxxxxx
> Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx>
> Signed-off-by: Steven Rostedt (Google) <rostedt@xxxxxxxxxxx>

Reviewed-by: Paul E. McKenney <paulmck@xxxxxxxxxx>

> ---
> include/linux/rcupdate_trace.h | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/include/linux/rcupdate_trace.h b/include/linux/rcupdate_trace.h
> index eda493200663..e6c44eb428ab 100644
> --- a/include/linux/rcupdate_trace.h
> +++ b/include/linux/rcupdate_trace.h
> @@ -10,6 +10,7 @@
>
> #include <linux/sched.h>
> #include <linux/rcupdate.h>
> +#include <linux/cleanup.h>
>
> extern struct lockdep_map rcu_trace_lock_map;
>
> @@ -98,4 +99,8 @@ static inline void rcu_read_lock_trace(void) { BUG(); }
> static inline void rcu_read_unlock_trace(void) { BUG(); }
> #endif /* #ifdef CONFIG_TASKS_TRACE_RCU */
>
> +DEFINE_LOCK_GUARD_0(rcu_tasks_trace,
> + rcu_read_lock_trace(),
> + rcu_read_unlock_trace())
> +
> #endif /* __LINUX_RCUPDATE_TRACE_H */
> --
> 2.45.2
>
>