All of lore.kernel.org
 help / color / mirror / Atom feed
From: Steven Rostedt <rostedt@kernel.org>
To: linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org
Cc: Masami Hiramatsu <mhiramat@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Mathieu Desnoyers <mathieu.desnoyers@efficios.com>,
	Andrew Morton <akpm@linux-foundation.org>
Subject: [PATCH 07/12] tracing: Have trace_printk functions use flags instead of using global_trace
Date: Fri, 06 Feb 2026 14:37:48 -0500	[thread overview]
Message-ID: <20260206195935.952012814@kernel.org> (raw)
In-Reply-To: 20260206193741.767171392@kernel.org

From: Steven Rostedt <rostedt@goodmis.org>

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.

Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
---
 kernel/trace/trace.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
index a68948ac8bf9..db36d4aebc15 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))
@@ -3388,7 +3389,7 @@ int __trace_array_vprintk(struct trace_buffer *buffer,
 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);
@@ -3424,7 +3425,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)))
@@ -3451,7 +3452,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();
-- 
2.51.0



  parent reply	other threads:[~2026-02-06 19:58 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-02-06 19:37 [PATCH 00/12] tracing: Clean up trace.c and move some code into other files Steven Rostedt
2026-02-06 19:37 ` [PATCH 01/12] tracing: Make tracing_disabled global for tracing system Steven Rostedt
2026-02-06 19:37 ` [PATCH 02/12] tracing: Make tracing_selftest_running global to the tracing subsystem Steven Rostedt
2026-02-06 19:37 ` [PATCH 03/12] tracing: Move __trace_buffer_{un}lock_*() functions to trace.h Steven Rostedt
2026-02-06 19:37 ` [PATCH 04/12] tracing: Move ftrace_trace_stack() out of trace.c and into trace.h Steven Rostedt
2026-02-06 19:37 ` [PATCH 05/12] tracing: Make printk_trace global for tracing system Steven Rostedt
2026-02-06 19:37 ` [PATCH 06/12] tracing: Make tracing_update_buffers() take NULL for global_trace Steven Rostedt
2026-02-06 19:37 ` Steven Rostedt [this message]
2026-02-06 19:37 ` [PATCH 08/12] tracing: Use system_state in trace_printk_init_buffers() Steven Rostedt
2026-02-06 19:37 ` [PATCH 09/12] tracing: Move trace_printk functions out of trace.c and into trace_printk.c Steven Rostedt
2026-02-06 19:37 ` [PATCH 10/12] tracing: Move pid filtering into trace_pid.c Steven Rostedt
2026-02-06 19:37 ` [PATCH 11/12] tracing: Move tracing_set_filter_buffering() into trace_events_hist.c Steven Rostedt
2026-02-06 19:37 ` [PATCH 12/12] tracing: Move snapshot code out of trace.c and into trace_snapshot.c Steven Rostedt
2026-02-07 14:56 ` [PATCH 00/12] tracing: Clean up trace.c and move some code into other files Steven Rostedt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260206195935.952012814@kernel.org \
    --to=rostedt@kernel.org \
    --cc=akpm@linux-foundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-trace-kernel@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=mathieu.desnoyers@efficios.com \
    --cc=mhiramat@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.