[DTrace-devel] [PATCH] test: adjust sdt.tst.args.d for task_rename tracepoint differences

Kris Van Hees kris.van.hees at oracle.com
Tue Aug 12 12:41:35 UTC 2025


As of kernel 6.14, the task_rename tracepoint provides only 3 arguments
rather than 4 (the pid got dropped).

Signed-off-by: Kris Van Hees <kris.van.hees at oracle.com>
---
 test/unittest/sdt/tst.args-3.d                | 42 +++++++++++++++++++
 .../unittest/sdt/{tst.args.r => tst.args-3.r} |  0
 test/unittest/sdt/tst.args-3.x                | 14 +++++++
 .../unittest/sdt/{tst.args.d => tst.args-4.d} |  0
 test/unittest/sdt/tst.args-4.r                |  2 +
 test/unittest/sdt/tst.args-4.x                | 13 ++++++
 6 files changed, 71 insertions(+)
 create mode 100644 test/unittest/sdt/tst.args-3.d
 rename test/unittest/sdt/{tst.args.r => tst.args-3.r} (100%)
 create mode 100755 test/unittest/sdt/tst.args-3.x
 rename test/unittest/sdt/{tst.args.d => tst.args-4.d} (100%)
 create mode 100644 test/unittest/sdt/tst.args-4.r
 create mode 100755 test/unittest/sdt/tst.args-4.x

diff --git a/test/unittest/sdt/tst.args-3.d b/test/unittest/sdt/tst.args-3.d
new file mode 100644
index 000000000..ae070cb72
--- /dev/null
+++ b/test/unittest/sdt/tst.args-3.d
@@ -0,0 +1,42 @@
+/*
+ * Oracle Linux DTrace.
+ * Copyright (c) 2021, 2025, Oracle and/or its affiliates. All rights reserved.
+ * Licensed under the Universal Permissive License v 1.0 as shown at
+ * http://oss.oracle.com/licenses/upl.
+ */
+
+#pragma D option destructive
+#pragma D option quiet
+
+/*
+ * Ensure that arguments to SDT probes can be retrieved correctly.
+ */
+BEGIN
+{
+	/* Timeout after 5 seconds */
+	timeout = timestamp + 5000000000;
+	system("ls >/dev/null");
+}
+
+/*
+ * The 'task_rename' tracepoint passes the following arguments:
+ *
+ *	char	oldcomm[16]
+ *	char	newcomm[16]
+ *	short	oom_score_adj
+ */
+this char v;
+this bool done;
+
+sdt:task::task_rename
+{
+	printf("PID OK, oldcomm [%s], newcomm [%s], oom_score_adj %hd\n", stringof(args[0]), stringof(args[1]), args[2]);
+	exit(0);
+}
+
+profile:::tick-1
+/timestamp > timeout/
+{
+	trace("test timed out");
+	exit(1);
+}
diff --git a/test/unittest/sdt/tst.args.r b/test/unittest/sdt/tst.args-3.r
similarity index 100%
rename from test/unittest/sdt/tst.args.r
rename to test/unittest/sdt/tst.args-3.r
diff --git a/test/unittest/sdt/tst.args-3.x b/test/unittest/sdt/tst.args-3.x
new file mode 100755
index 000000000..80c135543
--- /dev/null
+++ b/test/unittest/sdt/tst.args-3.x
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+read MAJOR MINOR <<< `uname -r | grep -Eo '^[0-9]+\.[0-9]+' | tr '.' ' '`
+
+if [ $MAJOR -lt 6 ]; then
+	echo "tst.args-3.d disabled on kernels < 6.14"
+	exit 2
+fi
+if [ $MAJOR -eq 6 -a $MINOR -lt 14 ]; then
+	echo "tst.args-3.d disabled on kernels < 6.14"
+	exit 2
+fi
+
+exit 0
diff --git a/test/unittest/sdt/tst.args.d b/test/unittest/sdt/tst.args-4.d
similarity index 100%
rename from test/unittest/sdt/tst.args.d
rename to test/unittest/sdt/tst.args-4.d
diff --git a/test/unittest/sdt/tst.args-4.r b/test/unittest/sdt/tst.args-4.r
new file mode 100644
index 000000000..52854c0b3
--- /dev/null
+++ b/test/unittest/sdt/tst.args-4.r
@@ -0,0 +1,2 @@
+PID OK, oldcomm [dtrace], newcomm [sh], oom_score_adj 0
+
diff --git a/test/unittest/sdt/tst.args-4.x b/test/unittest/sdt/tst.args-4.x
new file mode 100755
index 000000000..74a0234bf
--- /dev/null
+++ b/test/unittest/sdt/tst.args-4.x
@@ -0,0 +1,13 @@
+#!/bin/bash
+
+read MAJOR MINOR <<< `uname -r | grep -Eo '^[0-9]+\.[0-9]+' | tr '.' ' '`
+
+if [ $MAJOR -lt 6 ]; then
+	exit 0
+fi
+if [ $MAJOR -eq 6 -a $MINOR -lt 14 ]; then
+	exit 0
+fi
+
+echo "tst.args-4.d disabled on kernels < 6.14"
+exit 2
-- 
2.45.2




More information about the DTrace-devel mailing list