Skip to content

Commit f377912

Browse files
committed
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>
1 parent 93c88d0 commit f377912

1 file changed

Lines changed: 5 additions & 4 deletions

File tree

kernel/trace/trace.c

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1071,7 +1071,8 @@ int __trace_array_puts(struct trace_array *tr, unsigned long ip,
10711071
if (!(tr->trace_flags & TRACE_ITER(PRINTK)))
10721072
return 0;
10731073

1074-
if (unlikely(tracing_selftest_running && tr == &global_trace))
1074+
if (unlikely(tracing_selftest_running &&
1075+
(tr->flags & TRACE_ARRAY_FL_GLOBAL)))
10751076
return 0;
10761077

10771078
if (unlikely(tracing_disabled))
@@ -3386,7 +3387,7 @@ int __trace_array_vprintk(struct trace_buffer *buffer,
33863387
int trace_array_vprintk(struct trace_array *tr,
33873388
unsigned long ip, const char *fmt, va_list args)
33883389
{
3389-
if (tracing_selftest_running && tr == &global_trace)
3390+
if (tracing_selftest_running && (tr->flags & TRACE_ARRAY_FL_GLOBAL))
33903391
return 0;
33913392

33923393
return __trace_array_vprintk(tr->array_buffer.buffer, ip, fmt, args);
@@ -3422,7 +3423,7 @@ int trace_array_printk(struct trace_array *tr,
34223423
return -ENOENT;
34233424

34243425
/* This is only allowed for created instances */
3425-
if (tr == &global_trace)
3426+
if (tr->flags & TRACE_ARRAY_FL_GLOBAL)
34263427
return 0;
34273428

34283429
if (!(tr->trace_flags & TRACE_ITER(PRINTK)))
@@ -3449,7 +3450,7 @@ int trace_array_init_printk(struct trace_array *tr)
34493450
return -ENOENT;
34503451

34513452
/* This is only allowed for created instances */
3452-
if (tr == &global_trace)
3453+
if (tr->flags & TRACE_ARRAY_FL_GLOBAL)
34533454
return -EINVAL;
34543455

34553456
return alloc_percpu_trace_buffer();

0 commit comments

Comments
 (0)