linux/tools/perf/tests
German Gomez cd6382d827 perf test arm64: Test unwinding using fame-pointer (fp) mode
Add a shell script to check that the call-graphs generated using frame
pointers (--call-graph fp) are complete and not missing leaf functions:

  | $ perf test 88 -v
  |  88: Check Arm64 callgraphs are complete in fp mode                  :
  | --- start ---
  | test child forked, pid 8734
  |  + Compiling test program (/tmp/test_program.Cz3yL)...
  |  + Recording (PID=8749)...
  |  + Stopping perf-record...
  | test_program.Cz
  |                  728 leaf
  |                  753 parent
  |                  76c main
  | test child finished with 0
  | ---- end ----
  | Check Arm SPE callgraphs are complete in fp mode: Ok

It's supposed to work with both unwinders:

  | $ make                # for libunwind (default)
  | $ make NO_LIBUNWIND=1 # for libdw

Tester notes:

Ran it on N1SDP and it passes, and it fails if b9f6fbb3b2 ("perf
arm64: Inject missing frames when using 'perf record --call-graph=fp'")
isn't applied.

Fixes: b9f6fbb3b2 ("perf arm64: Inject missing frames when using 'perf record --call-graph=fp'")
Suggested-by: Jiri Olsa <jolsa@kernel.org>
Reviewed-by: James Clark <james.clark@arm.com>
Tested-by: James Clark <james.clark@arm.com>
Signed-off-by: German Gomez <german.gomez@arm.com>
Cc: Alexandre Truong <alexandre.truong@arm.com>
Cc: Leo Yan <leo.yan@linaro.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Link: https://lore.kernel.org/r/20220316172015.98000-1-german.gomez@arm.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2022-03-21 18:05:23 -03:00
..
attr perf test: Add perf_event_attr tests for the arm_spe event 2022-03-05 16:00:12 -03:00
shell perf test arm64: Test unwinding using fame-pointer (fp) mode 2022-03-21 18:05:23 -03:00
.gitignore .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01: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_overflow.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
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 bpf: Stop using deprecated bpf_load_program() API 2022-02-14 15:49:34 -03:00
Build perf test sigtrap: Add basic stress test for sigtrap handling 2021-12-07 22:18:23 -03:00
builtin-test.c perf test: Use 3 digits for test numbering now we can have more tests 2021-12-21 17:52:27 -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 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
event-times.c perf test: Rename struct test to test_suite 2021-11-13 10:32:22 -03:00
evsel-roundtrip-name.c perf test: Rename struct test to test_suite 2021-11-13 10:32:22 -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 test: Remove skip_if_fail 2021-11-13 18:11:50 -03: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
mem2node.c perf cpumap: Migrate to libperf cpumap api 2022-01-22 17:08:42 -03:00
mem.c perf test: Rename struct test to test_suite 2021-11-13 10:32:22 -03:00
mmap-basic.c perf cpumap: Migrate to libperf cpumap api 2022-01-22 17:08:42 -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 cpumap: Give CPUs their own type 2022-01-12 14:28:23 -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: Rename struct test to test_suite 2021-11-13 10:32:22 -03:00
parse-events.c perf test: Add parse-events test for aliases with hyphens 2022-01-22 17:21:41 -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: Rename struct test to test_suite 2021-11-13 10:32:22 -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: TSC test, remove is_supported use 2021-11-13 18:11:50 -03:00
pfm.c perf test: Remove skip_if_fail 2021-11-13 18:11:50 -03:00
pmu-events.c perf test: Make metric testing more robust 2022-02-15 17:15:33 -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 cpumap: Migrate to libperf cpumap api 2022-01-22 17:08:42 -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 maps: Use a pointer for kmaps 2022-02-14 16:47:13 -03:00
wp.c perf tests wp: Remove unused functions on s390 2021-11-18 10:08:07 -03:00