[PATCH 7/9] perf test cs-etm: Test branch history on existing samples
James Clark
james.clark at linaro.org
Wed Aug 12 07:15:24 PDT 2026
On 03/08/2026 10:06, Amir Ayupov wrote:
> Add a CoreSight shell test for --itrace=L. Record timestamped ETM trace
> with explicit -T sample timestamps and AUX pause/resume events, then
> check that the pause samples carry both a multi-frame callchain and a
> non-empty branch stack for each of the workload's two processes.
>
> Decode the same recording with L4 and L64 and reject any branch stack
> deeper than the requested depth.
>
> The test skips when cs_etm is absent, when not run as root, or when the
> recording turns out to lack virtual timestamps. It exercises the
> timestamp-gated path and the requested-depth bound; it does not attempt
> to verify that the attached history is correlated to the sample.
>
> Signed-off-by: Amir Ayupov <aaupov at fb.com>
> ---
> .../tests/shell/coresight/add_last_branch.sh | 175 ++++++++++++++++++
> 1 file changed, 175 insertions(+)
> create mode 100755 tools/perf/tests/shell/coresight/add_last_branch.sh
>
[...]
> +
> +record_data
> +check_callchains
> +
> +decode 4 "$tmpdir/script-l4"
> +check_process_samples "$tmpdir/script-l4"
Minor nit, but these should be capital L. l is a different option.
> +check_branch_stacks "$tmpdir/script-l4" 4
> +
> +decode 64 "$tmpdir/script-l64"
> +check_process_samples "$tmpdir/script-l64"
> +check_branch_stacks "$tmpdir/script-l64" 64
> +
> +cleanup
> +exit 0
More information about the linux-arm-kernel
mailing list