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

Eugene Loh eugene.loh at oracle.com
Tue Aug 12 18:21:14 UTC 2025


Reviewed-by: Eugene Loh <eugene.loh at oracle.com>

On 8/12/25 14:09, Kris Van Hees via DTrace-devel wrote:
> 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



More information about the DTrace-devel mailing list