acrn-kernel/tools/perf/tests
German Gomez 4f52ca1358 perf test arm-spe: Check if perf-record hangs when recording workload with forks
Add shell test to check if perf-record hangs when recording an arm_spe
event with forks.

The test FAILS if the Kernel is not patched with Commit 961c391217 ("perf:
Always wake the parent event").

Unpatched Kernel:

  $ perf test -v 90
  90: Check Arm SPE doesn't hang when there are forks
  --- start ---
  test child forked, pid 14232
  Recording workload with fork
  Log lines = 90 /tmp/__perf_test.stderr.0Nu0U
  Log lines after 1 second = 90 /tmp/__perf_test.stderr.0Nu0U
  SPE hang test: FAIL
  test child finished with -1
  ---- end ----
  Check Arm SPE trace data in workload with forks: FAILED!

Patched Kernel:

  $ perf test -v 90
  90: Check Arm SPE doesn't hang when there are forks
  --- start ---
  test child forked, pid 2930
  Compiling test program...
  Recording workload...
  Log lines = 478 /tmp/__perf_test.log.026AI
  Log lines after 1 second = 557 /tmp/__perf_test.log.026AI
  SPE hang test: PASS
  Cleaning up files...
  test child finished with 0
  ---- end ----
  Check Arm SPE trace data in workload with forks: Ok

Reviewed-by: James Clark <james.clark@arm.com>
Reviewed-by: Leo Yan <leo.yan@linaro.org>
Signed-off-by: German Gomez <german.gomez@arm.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Link: https://lore.kernel.org/r/20220228165655.3920-1-german.gomez@arm.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2022-06-03 21:18:35 +02:00
..
attr perf test: Add perf_event_attr test for Arm SPE 2022-04-28 10:40:49 -03:00
shell perf test arm-spe: Check if perf-record hangs when recording workload with forks 2022-06-03 21:18:35 +02:00
.gitignore .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
Build perf test sigtrap: Add basic stress test for sigtrap handling 2021-12-07 22:18:23 -03:00
api-io.c perf test: Rename struct test to test_suite 2021-11-13 10:32:22 -03:00
attr.c perf cpumap: Give CPUs their own type 2022-01-12 14:28:23 -03:00
attr.py perf script python: Add Python3 support to tests/attr.py 2019-02-05 10:31:08 -03:00
backward-ring-buffer.c perf test: Rename struct test to test_suite 2021-11-13 10:32:22 -03:00
bitmap.c perf cpumap: Migrate to libperf cpumap api 2022-01-22 17:08:42 -03:00
bp_account.c perf test: BP tests, remove is_supported use 2021-11-13 18:11:50 -03:00
bp_signal.c perf test: BP tests, remove is_supported use 2021-11-13 18:11:50 -03:00
bp_signal_overflow.c perf test: BP tests, remove is_supported use 2021-11-13 18:11:50 -03:00
bpf-script-example.c perf tests: Add missing SPDX headers 2019-06-17 15:57:19 -03:00
bpf-script-test-kbuild.c perf tests: Add missing SPDX headers 2019-06-17 15:57:19 -03:00
bpf-script-test-prologue.c perf tests: Add missing SPDX headers 2019-06-17 15:57:19 -03:00
bpf-script-test-relocation.c perf tests: Add missing SPDX headers 2019-06-17 15:57:19 -03:00
bpf.c perf test bpf: Skip test if clang is not present 2022-05-21 14:54:21 -03:00
builtin-test.c perf test: Skip reason for suites with 1 test 2022-05-23 10:00:43 -03:00
clang.c perf test: Remove skip_if_fail 2021-11-13 18:11:50 -03:00
code-reading.c perf test: Rename struct test to test_suite 2021-11-13 10:32:22 -03:00
cpumap.c perf cpumap: Migrate to libperf cpumap api 2022-02-11 14:01:15 -03:00
demangle-java-test.c perf test: Rename struct test to test_suite 2021-11-13 10:32:22 -03:00
demangle-ocaml-test.c perf test: Rename struct test to test_suite 2021-11-13 10:32:22 -03:00
dlfilter-test.c perf test: Rename struct test to test_suite 2021-11-13 10:32:22 -03:00
dso-data.c perf test: Rename struct test to test_suite 2021-11-13 10:32:22 -03:00
dwarf-unwind.c perf unwind: Don't show unwind error messages when augmenting frame pointer stack 2022-04-09 12:34:29 -03:00
event-times.c perf test: Rename struct test to test_suite 2021-11-13 10:32:22 -03:00
event_update.c perf cpumap: Migrate to libperf cpumap api 2022-01-22 17:08:42 -03:00
evsel-roundtrip-name.c perf evsel: Constify a few arrays 2022-05-09 10:12:14 -03:00
evsel-tp-sched.c perf test: Rename struct test to test_suite 2021-11-13 10:32:22 -03:00
expand-cgroup.c perf test: Rename struct test to test_suite 2021-11-13 10:32:22 -03:00
expr.c perf test: Fix 'Simple expression parser' test on arch without CPU die topology info 2021-12-06 21:57:53 -03:00
fdarray.c perf test: Rename struct test to test_suite 2021-11-13 10:32:22 -03:00
genelf.c perf test: Rename struct test to test_suite 2021-11-13 10:32:22 -03:00
hists_common.c perf tools: Move event synthesizing routines to separate header 2019-09-20 09:19:22 -03:00
hists_common.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
hists_cumulate.c perf test: Rename struct test to test_suite 2021-11-13 10:32:22 -03:00
hists_filter.c perf test: Rename struct test to test_suite 2021-11-13 10:32:22 -03:00
hists_link.c perf test: Rename struct test to test_suite 2021-11-13 10:32:22 -03:00
hists_output.c perf test: Rename struct test to test_suite 2021-11-13 10:32:22 -03:00
is_printable_array.c perf test: Rename struct test to test_suite 2021-11-13 10:32:22 -03:00
keep-tracking.c perf test: Rename struct test to test_suite 2021-11-13 10:32:22 -03:00
kmod-path.c perf test: Rename struct test to test_suite 2021-11-13 10:32:22 -03:00
llvm.c perf: Stop using bpf_object__open_buffer() API 2022-01-24 20:44:09 -08:00
llvm.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
make perf tools: Test build with libbpf/LIBBPF_DYNAMIC=1 2021-05-17 20:32:05 -03:00
maps.c perf test: Use pointer for maps 2022-02-14 16:51:03 -03:00
mem.c perf test: Rename struct test to test_suite 2021-11-13 10:32:22 -03:00
mem2node.c perf cpumap: Migrate to libperf cpumap api 2022-01-22 17:08:42 -03:00
mmap-basic.c perf test: Basic mmap use skip 2022-05-23 10:03:39 -03:00
mmap-thread-lookup.c perf test: Rename struct test to test_suite 2021-11-13 10:32:22 -03:00
openat-syscall-all-cpus.c perf test: Use skip in openat syscall 2022-05-23 10:01:57 -03:00
openat-syscall-tp-fields.c perf test: Rename struct test to test_suite 2021-11-13 10:32:22 -03:00
openat-syscall.c perf test: Use skip in openat syscall 2022-05-23 10:01:57 -03:00
parse-events.c perf test: Parse events break apart tests 2022-05-23 10:04:59 -03:00
parse-metric.c perf test: Reset shadow counts before loading 2021-12-06 21:57:53 -03:00
parse-no-sample-id-all.c perf test: Rename struct test to test_suite 2021-11-13 10:32:22 -03:00
pe-file-parsing.c perf test: Rename struct test to test_suite 2021-11-13 10:32:22 -03:00
pe-file.c perf tests: Add test for PE binary format support 2020-09-04 14:38:15 -03:00
pe-file.exe perf tests: Add test for PE binary format support 2020-09-04 14:38:15 -03:00
pe-file.exe.debug perf tests: Add test for PE binary format support 2020-09-04 14:38:15 -03:00
perf-hooks.c perf test: Rename struct test to test_suite 2021-11-13 10:32:22 -03:00
perf-record.c perf test: Use skip in PERF_RECORD_* 2022-05-23 10:05:07 -03:00
perf-targz-src-pkg License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
perf-time-to-tsc.c perf test: Fix error message for test case 71 on s390, where it is not supported 2022-04-22 18:39:34 -03:00
pfm.c perf test: Remove skip_if_fail 2021-11-13 18:11:50 -03:00
pmu-events.c perf jevents: Modify match field 2022-05-23 10:08:15 -03:00
pmu.c perf test: Rename struct test to test_suite 2021-11-13 10:32:22 -03:00
python-use.c perf test: Rename struct test to test_suite 2021-11-13 10:32:22 -03:00
sample-parsing.c perf test sample-parsing: Fix branch_stack entry endianness check 2021-11-18 10:08:07 -03:00
sdt.c perf test: Rename struct test to test_suite 2021-11-13 10:32:22 -03:00
sigtrap.c perf test: Skip failing sigtrap test for arm+aarch64 2022-02-18 09:54:50 -03:00
stat.c perf cpumap: Give CPUs their own type 2022-01-12 14:28:23 -03:00
sw-clock.c perf test: Rename struct test to test_suite 2021-11-13 10:32:22 -03:00
switch-tracking.c perf test: Rename struct test to test_suite 2021-11-13 10:32:22 -03:00
task-exit.c perf test: Rename struct test to test_suite 2021-11-13 10:32:22 -03:00
tests.h perf test sigtrap: Add basic stress test for sigtrap handling 2021-12-07 22:18:23 -03:00
thread-map.c perf test: Rename struct test to test_suite 2021-11-13 10:32:22 -03:00
thread-maps-share.c perf test: Rename struct test to test_suite 2021-11-13 10:32:22 -03:00
time-utils-test.c perf test: Rename struct test to test_suite 2021-11-13 10:32:22 -03:00
topology.c perf test session topology: Fix test to skip the test in guest environment 2022-05-21 14:52:33 -03:00
unit_number__scnprintf.c perf test: Rename struct test to test_suite 2021-11-13 10:32:22 -03:00
vmlinux-kallsyms.c perf test: Use skip in vmlinux kallsyms 2022-05-23 10:01:15 -03:00
wp.c perf tests wp: Remove unused functions on s390 2021-11-18 10:08:07 -03:00