From: "Masami Hiramatsu (Google)" <mhiramat@kernel.org>
To: Jonathan Corbet <corbet@lwn.net>,
Steven Rostedt <rostedt@goodmis.org>,
Masami Hiramatsu <mhiramat@kernel.org>,
Shuah Khan <shuah@kernel.org>
Cc: Shuah Khan <skhan@linuxfoundation.org>,
Mathieu Desnoyers <mathieu.desnoyers@efficios.com>,
linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-trace-kernel@vger.kernel.org,
linux-kselftest@vger.kernel.org
Subject: [PATCH v2 2/2] selftests/ftrace: Add test case for overriding trace_instance parameter
Date: Fri, 2 Oct 2026 14:44:28 +0900 [thread overview]
Message-ID: <179091986836.537422.14557907623051321426.stgit@devnote2> (raw)
In-Reply-To: <179091984881.537422.15308457677039592540.stgit@devnote2>
From: Masami Hiramatsu (Google) <mhiramat@kernel.org>
Add a boot-time tracing test case to verify that specifying multiple
trace_instance= parameters with the same instance name overrides earlier
definitions:
- Verifies that a kernel command-line trace_instance= parameter
overrides an earlier trace instance defined via bootconfig
(kernel.trace_instance).
- Verifies that a latter kernel command-line trace_instance=
parameter overrides an earlier trace_instance= on the same
command line.
- Confirms that the overridden instance has its previous events
disabled, new events enabled, and flags (such as traceoff)
properly applied.
Assisted-by: Antigravity:gemini-3.8-flash
Signed-off-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
---
.../cmdline-07-trace-instance-override.bconf | 2 +
.../cmdline-07-trace-instance-override.cmdline | 1
.../tests/cmdline-07-trace-instance-override.sh | 56 ++++++++++++++++++++
3 files changed, 59 insertions(+)
create mode 100644 tools/testing/selftests/ftrace/boottime/bootconfigs/cmdline-07-trace-instance-override.bconf
create mode 100644 tools/testing/selftests/ftrace/boottime/cmdlines/cmdline-07-trace-instance-override.cmdline
create mode 100644 tools/testing/selftests/ftrace/boottime/tests/cmdline-07-trace-instance-override.sh
diff --git a/tools/testing/selftests/ftrace/boottime/bootconfigs/cmdline-07-trace-instance-override.bconf b/tools/testing/selftests/ftrace/boottime/bootconfigs/cmdline-07-trace-instance-override.bconf
new file mode 100644
index 000000000000..2551da39f722
--- /dev/null
+++ b/tools/testing/selftests/ftrace/boottime/bootconfigs/cmdline-07-trace-instance-override.bconf
@@ -0,0 +1,2 @@
+kernel.trace_instance = "foo,sched:sched_switch"
+
diff --git a/tools/testing/selftests/ftrace/boottime/cmdlines/cmdline-07-trace-instance-override.cmdline b/tools/testing/selftests/ftrace/boottime/cmdlines/cmdline-07-trace-instance-override.cmdline
new file mode 100644
index 000000000000..1953eb5d6f80
--- /dev/null
+++ b/tools/testing/selftests/ftrace/boottime/cmdlines/cmdline-07-trace-instance-override.cmdline
@@ -0,0 +1 @@
+trace_instance=foo^traceoff,sched:sched_waking trace_instance=bar,sched:sched_switch trace_instance=bar^traceoff,irq:irq_handler_entry
diff --git a/tools/testing/selftests/ftrace/boottime/tests/cmdline-07-trace-instance-override.sh b/tools/testing/selftests/ftrace/boottime/tests/cmdline-07-trace-instance-override.sh
new file mode 100644
index 000000000000..a13b7deb6735
--- /dev/null
+++ b/tools/testing/selftests/ftrace/boottime/tests/cmdline-07-trace-instance-override.sh
@@ -0,0 +1,56 @@
+#!/bin/sh
+# SPDX-License-Identifier: GPL-2.0
+# Copyright (C) 2026, Google LLC.
+# Check trace_instance= override with bootconfig and kernel command-line
+TRACEDIR="/sys/kernel/tracing"
+
+if [ -f /proc/bootconfig ] && grep -q "dump_bconf" /proc/cmdline 2>/dev/null; then
+ echo "=== /proc/bootconfig ==="
+ cat /proc/bootconfig
+ echo "========================"
+fi
+
+check_instance() {
+ instance="$1"
+ old_event="$2"
+ new_event="$3"
+
+ if [ ! -d "$TRACEDIR/instances/$instance" ]; then
+ echo "FAIL: trace instance $instance does not exist"
+ exit 1
+ fi
+
+ if [ -f "$TRACEDIR/instances/$instance/events/$old_event/enable" ]; then
+ ENABLE=$(cat "$TRACEDIR/instances/$instance/events/$old_event/enable")
+ if [ "$ENABLE" = "1" ]; then
+ echo "FAIL: overridden event $old_event is still enabled in instance $instance"
+ exit 1
+ fi
+ fi
+
+ if [ ! -d "$TRACEDIR/instances/$instance/events/$new_event" ]; then
+ echo "FAIL: event $new_event does not exist in instance $instance"
+ exit 1
+ fi
+
+ ENABLE=$(cat "$TRACEDIR/instances/$instance/events/$new_event/enable")
+ if [ "$ENABLE" != "1" ]; then
+ echo "FAIL: event $new_event is not enabled in instance $instance ($ENABLE)"
+ exit 1
+ fi
+
+ TRACING_ON=$(cat "$TRACEDIR/instances/$instance/tracing_on")
+ if [ "$TRACING_ON" != "0" ]; then
+ echo "FAIL: tracing_on is not 0 in instance $instance ($TRACING_ON)"
+ exit 1
+ fi
+}
+
+# Test 1: bootconfig trace_instance overridden by cmdline parameter
+check_instance "foo" "sched/sched_switch" "sched/sched_waking"
+
+# Test 2: cmdline trace_instance overridden by subsequent cmdline parameter
+check_instance "bar" "sched/sched_switch" "irq/irq_handler_entry"
+
+echo "PASS: cmdline-07-trace-instance-override"
+exit 0
prev parent reply other threads:[~2026-10-02 5:44 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-02 5:44 [PATCH v2 0/2] tracing: Override trace_instance parameter Masami Hiramatsu (Google)
2026-10-02 5:44 ` [PATCH v2 1/2] tracing: Override the same name trace_instance= by latter one Masami Hiramatsu (Google)
2026-10-02 9:14 ` sashiko-bot
2026-10-02 10:46 ` Masami Hiramatsu (Google)
2026-10-02 5:44 ` Masami Hiramatsu (Google) [this message]
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=179091986836.537422.14557907623051321426.stgit@devnote2 \
--to=mhiramat@kernel.org \
--cc=corbet@lwn.net \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=linux-trace-kernel@vger.kernel.org \
--cc=mathieu.desnoyers@efficios.com \
--cc=rostedt@goodmis.org \
--cc=shuah@kernel.org \
--cc=skhan@linuxfoundation.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.