[for-linus][PATCH 1/2] tracing/osnoise: Fix build when timerlat is not enabled

From: Steven Rostedt
Date: Mon Sep 09 2024 - 16:08:39 EST


From: Steven Rostedt <rostedt@xxxxxxxxxxx>

To fix some critical section races, the interface_lock was added to a few
locations. One of those locations was above where the interface_lock was
declared, so the declaration was moved up before that usage.
Unfortunately, where it was placed was inside a CONFIG_TIMERLAT_TRACER
ifdef block. As the interface_lock is used outside that config, this broke
the build when CONFIG_OSNOISE_TRACER was enabled but
CONFIG_TIMERLAT_TRACER was not.

Cc: Masami Hiramatsu <mhiramat@xxxxxxxxxx>
Cc: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx>
Cc: "Helena Anna" <helena.anna.dubel@xxxxxxxxx>
Cc: "Luis Claudio R. Goncalves" <lgoncalv@xxxxxxxxxx>
Cc: Tomas Glozar <tglozar@xxxxxxxxxx>
Link: https://lore.kernel.org/20240909103231.23a289e2@xxxxxxxxxxxxxxxxxx
Fixes: e6a53481da29 ("tracing/timerlat: Only clear timer if a kthread exists")
Reported-by: "Bityutskiy, Artem" <artem.bityutskiy@xxxxxxxxx>
Signed-off-by: Steven Rostedt (Google) <rostedt@xxxxxxxxxxx>
---
kernel/trace/trace_osnoise.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/kernel/trace/trace_osnoise.c b/kernel/trace/trace_osnoise.c
index bbe47781617e..7e75c1214b36 100644
--- a/kernel/trace/trace_osnoise.c
+++ b/kernel/trace/trace_osnoise.c
@@ -228,6 +228,11 @@ static inline struct osnoise_variables *this_cpu_osn_var(void)
return this_cpu_ptr(&per_cpu_osnoise_var);
}

+/*
+ * Protect the interface.
+ */
+static struct mutex interface_lock;
+
#ifdef CONFIG_TIMERLAT_TRACER
/*
* Runtime information for the timer mode.
@@ -252,11 +257,6 @@ static inline struct timerlat_variables *this_cpu_tmr_var(void)
return this_cpu_ptr(&per_cpu_timerlat_var);
}

-/*
- * Protect the interface.
- */
-static struct mutex interface_lock;
-
/*
* tlat_var_reset - Reset the values of the given timerlat_variables
*/
--
2.45.2