[PATCH perf-tools-next v6 5/5] perf tests: Add shell test for kernel symbol beautifier
From: Aaron Tomlin
Date: Mon Aug 24 2026 - 09:39:13 EST
Add a dedicated shell test script, trace_ksym_beautifier.sh, to verify
that 'perf trace' properly symbolises kernel virtual addresses (e.g.
call_site in kmem:kmalloc) and function pointer fields (e.g. function in
timer:hrtimer_start) using the kernel symbol beautifier (SCA_KSYM).
Signed-off-by: Aaron Tomlin <atomlin@xxxxxxxxxxx>
---
.../perf/tests/shell/trace_ksym_beautifier.sh | 38 +++++++++++++++++++
1 file changed, 38 insertions(+)
create mode 100755 tools/perf/tests/shell/trace_ksym_beautifier.sh
diff --git a/tools/perf/tests/shell/trace_ksym_beautifier.sh b/tools/perf/tests/shell/trace_ksym_beautifier.sh
new file mode 100755
index 000000000000..7c441f8551a2
--- /dev/null
+++ b/tools/perf/tests/shell/trace_ksym_beautifier.sh
@@ -0,0 +1,38 @@
+#!/bin/bash
+# perf trace kernel symbol beautifier tests
+# SPDX-License-Identifier: GPL-2.0
+
+err=0
+
+# shellcheck source=lib/probe.sh
+. "$(dirname "$0")"/lib/probe.sh
+skip_if_no_perf_trace || exit 2
+[ "$(id -u)" = 0 ] || exit 2
+
+test_ksym_call_site() {
+ echo "Testing perf trace kernel symbol beautifier (call_site)"
+ output="$(perf trace -e kmem:kmalloc --max-events=1 -- true 2>&1)"
+ if ! echo "$output" | grep -q -E "call_site: [a-zA-Z_][a-zA-Z0-9_]*" || echo "$output" | grep -q -E "call_site: 0x[0-9a-fA-F]+"
+ then
+ printf "Call site kernel symbol beautification failed, output:\n%s\n" "$output"
+ err=1
+ fi
+}
+
+test_ksym_function_ptr() {
+ echo "Testing perf trace kernel symbol beautifier (function pointer)"
+ output="$(perf trace -e timer:hrtimer_start --max-events=1 -- sleep 0.01 2>&1)"
+ if ! echo "$output" | grep -q -E "function: [a-zA-Z_][a-zA-Z0-9_]*" || echo "$output" | grep -q -E "function: 0x[0-9a-fA-F]+"
+ then
+ printf "Function pointer kernel symbol beautification failed, output:\n%s\n" "$output"
+ err=1
+ fi
+}
+
+test_ksym_call_site
+
+if [ $err = 0 ]; then
+ test_ksym_function_ptr
+fi
+
+exit $err
--
2.55.0