[PATCH v1 0/2] perf test: Output sub testing result in cs-etm

From: Leo Yan
Date: Mon Feb 15 2021 - 07:01:45 EST


The "perf test" can be integrated into testing framework, e.g. Linux
kernel functional testing (LKFT) [1]. We are not satisfied with only
outputting the summarized result for Arm CoreSight testing but lacking
more detailed result for sub testing.

This patch set is to output sub testing result in cs-etm. Thus the
testing framework can extract the detailed info and generates reports
for which sub cases causes failure.

This patch set is cleanly applied on perf/core branch with:

commit 6db59d357e8e ("perf arm64/s390: Fix printf conversion specifier for IP addresses")

After applied the patches, which is tested on Arm Juno-r2 board with
option '-v', the output result is shown in below; the introduced sub
testing result has the format like:

"CoreSight path testing (CPU0 -> tmc_etf0): PASS".


# perf test 73 -v
73: Check Arm CoreSight trace data recording and synthesized samples:
--- start ---
test child forked, pid 17423
Recording trace (only user mode) with path: CPU0 => tmc_etf0
Looking at perf.data file for dumping branch samples:
Looking at perf.data file for reporting branch samples:
Looking at perf.data file for instruction samples:
CoreSight path testing (CPU0 -> tmc_etf0): PASS
Recording trace (only user mode) with path: CPU0 => tmc_etr0
Looking at perf.data file for dumping branch samples:
Looking at perf.data file for reporting branch samples:
Looking at perf.data file for instruction samples:
CoreSight path testing (CPU0 -> tmc_etr0): PASS
Recording trace (only user mode) with path: CPU1 => tmc_etf0
Looking at perf.data file for dumping branch samples:
Looking at perf.data file for reporting branch samples:
Looking at perf.data file for instruction samples:
CoreSight path testing (CPU1 -> tmc_etf0): PASS
Recording trace (only user mode) with path: CPU1 => tmc_etr0
Looking at perf.data file for dumping branch samples:
Looking at perf.data file for reporting branch samples:
Looking at perf.data file for instruction samples:
CoreSight path testing (CPU1 -> tmc_etr0): PASS
Recording trace (only user mode) with path: CPU2 => tmc_etf0
Looking at perf.data file for dumping branch samples:
Looking at perf.data file for reporting branch samples:
Looking at perf.data file for instruction samples:
CoreSight path testing (CPU2 -> tmc_etf0): PASS
Recording trace (only user mode) with path: CPU2 => tmc_etr0
Looking at perf.data file for dumping branch samples:
Looking at perf.data file for reporting branch samples:
Looking at perf.data file for instruction samples:
CoreSight path testing (CPU2 -> tmc_etr0): PASS
Recording trace (only user mode) with path: CPU3 => tmc_etf0
Looking at perf.data file for dumping branch samples:
Looking at perf.data file for reporting branch samples:
Looking at perf.data file for instruction samples:
CoreSight path testing (CPU3 -> tmc_etf0): PASS
Recording trace (only user mode) with path: CPU3 => tmc_etr0
Looking at perf.data file for dumping branch samples:
Looking at perf.data file for reporting branch samples:
Looking at perf.data file for instruction samples:
CoreSight path testing (CPU3 -> tmc_etr0): PASS
Recording trace (only user mode) with path: CPU4 => tmc_etf0
Looking at perf.data file for dumping branch samples:
Looking at perf.data file for reporting branch samples:
Looking at perf.data file for instruction samples:
CoreSight path testing (CPU4 -> tmc_etf0): PASS
Recording trace (only user mode) with path: CPU4 => tmc_etr0
Looking at perf.data file for dumping branch samples:
Looking at perf.data file for reporting branch samples:
Looking at perf.data file for instruction samples:
CoreSight path testing (CPU4 -> tmc_etr0): PASS
Recording trace (only user mode) with path: CPU5 => tmc_etf0
Looking at perf.data file for dumping branch samples:
Looking at perf.data file for reporting branch samples:
Looking at perf.data file for instruction samples:
CoreSight path testing (CPU5 -> tmc_etf0): PASS
Recording trace (only user mode) with path: CPU5 => tmc_etr0
Looking at perf.data file for dumping branch samples:
Looking at perf.data file for reporting branch samples:
Looking at perf.data file for instruction samples:
CoreSight path testing (CPU5 -> tmc_etr0): PASS
Recording trace with system wide mode
Looking at perf.data file for dumping branch samples:
Looking at perf.data file for reporting branch samples:
Looking at perf.data file for instruction samples:
CoreSight system wide testing: PASS
Recording trace with snapshot mode
Looking at perf.data file for dumping branch samples:
Looking at perf.data file for reporting branch samples:
Looking at perf.data file for instruction samples:
CoreSight snapshot testing: PASS
test child finished with 0
---- end ----
Check Arm CoreSight trace data recording and synthesized samples: Ok

[1] https://lkft.linaro.org/


Leo Yan (2):
perf test: Suppress logs in cs-etm testing
perf test: Output the sub testing result in cs-etm

tools/perf/tests/shell/test_arm_coresight.sh | 45 ++++++++++----------
1 file changed, 23 insertions(+), 22 deletions(-)

--
2.25.1