diff options
| author | Steven Rostedt <rostedt@goodmis.org> | 2026-02-07 22:24:24 -0500 |
|---|---|---|
| committer | Steven Rostedt (Google) <rostedt@goodmis.org> | 2026-02-08 21:01:12 -0500 |
| commit | f377912b3dd71312cbf9eaf2c60263cb6e7cba59 (patch) | |
| tree | 8773cbaf80f64700d313534078c26604b0c3371e /kernel | |
| parent | 93c88d06accdeceee4fbd243b084d3749bcd96d7 (diff) | |
tracing: Have trace_printk functions use flags instead of using global_trace
The trace.c file has become a dumping ground for all tracing code and has
become quite large. In order to move the trace_printk functions out of it
these functions can not access global_trace directly, as that is something
that needs to stay static in trace.c.
Instead of testing the trace_array tr pointer to &global_trace, test the
tr->flags to see if TRACE_ARRAY_FL_GLOBAL set.
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Link: https://patch.msgid.link/20260208032450.491116245@kernel.org
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/trace/trace.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c index 601b6f622391..f4ae80564615 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c @@ -1071,7 +1071,8 @@ int __trace_array_puts(struct trace_array *tr, unsigned long ip, if (!(tr->trace_flags & TRACE_ITER(PRINTK))) return 0; - if (unlikely(tracing_selftest_running && tr == &global_trace)) + if (unlikely(tracing_selftest_running && + (tr->flags & TRACE_ARRAY_FL_GLOBAL))) return 0; if (unlikely(tracing_disabled)) @@ -3386,7 +3387,7 @@ out_nobuffer: int trace_array_vprintk(struct trace_array *tr, unsigned long ip, const char *fmt, va_list args) { - if (tracing_selftest_running && tr == &global_trace) + if (tracing_selftest_running && (tr->flags & TRACE_ARRAY_FL_GLOBAL)) return 0; return __trace_array_vprintk(tr->array_buffer.buffer, ip, fmt, args); @@ -3422,7 +3423,7 @@ int trace_array_printk(struct trace_array *tr, return -ENOENT; /* This is only allowed for created instances */ - if (tr == &global_trace) + if (tr->flags & TRACE_ARRAY_FL_GLOBAL) return 0; if (!(tr->trace_flags & TRACE_ITER(PRINTK))) @@ -3449,7 +3450,7 @@ int trace_array_init_printk(struct trace_array *tr) return -ENOENT; /* This is only allowed for created instances */ - if (tr == &global_trace) + if (tr->flags & TRACE_ARRAY_FL_GLOBAL) return -EINVAL; return alloc_percpu_trace_buffer(); |
