linux/tools/perf/tests
Ian Rogers 86d1095fdb perf test: Fixes for check branch stack sampling
When filtering branch stack samples on user events they sample in user
land but may have come from the kernel. Aarch64 avoids leaking the
kernel address for kaslr reasons but other platforms, for now,
don't. Be more permissive in allowing kernel addresses in the source
of user branch stacks.

When filtering branch stack samples on kernel events they sample in
kernel land but may have come from user land. Avoid the target being a
user address but allow the source to be in user land. Aarch64 may not
leak the user land addresses (making them 0) but other platforms
do. As the kernel address sampling implies privelege, just allow this.

Increase the duration of the system call sampling test to make the
likelihood of sampling a system call higher (increased from 1000 to
8000 loops - a number found through experimentation on an Intel
Tigerlake laptop), also make the period of the event a prime number.

Put unneeded perf record output into a temporary file so that the test
output isn't cluttered. More clearly state which test is running and
the pass, fail or skipped result of the test.

These changes make the test on an Intel tigerlake laptop reliably pass
rather than reliably fail.

Signed-off-by: Ian Rogers <irogers@google.com>
Reviewed-by: James Clark <james.clark@linaro.org>
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
2026-04-13 23:37:59 -07:00
..
config-fragments
shell perf test: Fixes for check branch stack sampling 2026-04-13 23:37:59 -07:00
workloads perf test type profiling: Remote typedef on struct 2026-03-03 22:37:48 -08:00
api-io.c
backward-ring-buffer.c perf target: Remove uid from target 2025-06-09 11:18:18 -07:00
bitmap.c libperf cpumap: Make index and nr types unsigned 2026-04-01 14:50:53 -07:00
bp_account.c perf tests bp_account: Fix leaked file descriptor 2025-07-11 12:05:02 -07:00
bp_signal_overflow.c
bp_signal.c perf tools: Make more global variables static 2026-04-08 19:21:04 -07:00
Build perf test: Add kallsyms split test 2025-12-02 21:59:15 -08:00
builtin-test.c perf test workload: Add code_with_type test workload 2026-02-08 19:16:24 -03:00
code-reading.c perf tools: Use calloc() where applicable 2026-04-08 19:21:05 -07:00
cpumap.c libperf cpumap: Make index and nr types unsigned 2026-04-01 14:50:53 -07:00
demangle-java-test.c perf test demangle-java: Don't segv if demangling fails 2025-05-28 10:12:47 -03:00
demangle-ocaml-test.c perf test demangle-ocaml: Switch to using dso__demangle_sym() 2025-05-09 17:03:09 -03:00
demangle-rust-v0-test.c perf test demangle-rust: Add Rust demangling test 2025-05-09 17:01:57 -03:00
dlfilter-test.c perf script: Fix script_fetch_insn for more than just x86 2026-01-27 01:35:22 -03:00
dso-data.c perf tools: Make more global variables static 2026-04-08 19:21:04 -07:00
dwarf-unwind.c perf machine: Explicitly pass in host perf_env 2025-07-25 10:37:57 -07:00
event_groups.c perf test: Update event_groups test to use instructions 2025-01-18 10:32:57 -08:00
event_update.c perf evlist: Improve default event for s390 2026-03-19 14:42:46 -07:00
event-times.c perf thread_map: Remove uid options 2025-06-09 11:18:18 -07:00
evsel-roundtrip-name.c
evsel-tp-sched.c perf build: Include libtraceevent headers directly indicated by pkg-config 2024-11-08 22:42:57 -08:00
expand-cgroup.c perf evlist: Improve default event for s390 2026-03-19 14:42:46 -07:00
expr.c perf test expr: Fix system_tsc_freq for only x86 2024-12-11 09:19:44 -08:00
fdarray.c
genelf.c
hists_common.c
hists_common.h
hists_cumulate.c perf sample: Add evsel to struct perf_sample 2026-04-05 23:12:15 -07:00
hists_filter.c perf sample: Add evsel to struct perf_sample 2026-04-05 23:12:15 -07:00
hists_link.c perf sort: Use perf_env to set arch sort keys and header 2025-07-25 10:37:58 -07:00
hists_output.c perf sample: Add evsel to struct perf_sample 2026-04-05 23:12:15 -07:00
hwmon_pmu.c perf auxtrace: Remove errno.h from auxtrace.h and fix transitive dependencies 2025-11-13 23:03:11 -08:00
is_printable_array.c
kallsyms-split.c perf tests kallsyms: Fix missed map__put() 2026-01-20 17:29:15 -03:00
keep-tracking.c perf test: Switch cycles event to cpu-cycles 2025-10-15 23:59:12 +09:00
kmod-path.c
make perf tests: build-test coverage for NO_JEVENTS=1 2026-02-06 11:56:54 -03:00
maps.c perf test maps: Additional maps__fixup_overlap_and_insert tests 2025-11-19 16:20:15 -08:00
mem.c
mem2node.c libperf cpumap: Make index and nr types unsigned 2026-04-01 14:50:53 -07:00
mmap-basic.c perf test: Don't fail if user rdpmc returns 0 when disabled 2025-11-16 23:24:00 -08:00
mmap-thread-lookup.c perf machine: Explicitly pass in host perf_env 2025-07-25 10:37:57 -07:00
openat-syscall-all-cpus.c libperf cpumap: Make index and nr types unsigned 2026-04-01 14:50:53 -07:00
openat-syscall-tp-fields.c perf target: Remove uid from target 2025-06-09 11:18:18 -07:00
openat-syscall.c perf thread_map: Remove uid options 2025-06-09 11:18:18 -07:00
parse-events.c perf test: Fix ratio_to_prev event parsing test 2026-04-02 12:51:10 -07:00
parse-metric.c perf test parse-metric: Ensure aggregate counts appear to have run 2026-02-08 11:30:01 -03:00
parse-no-sample-id-all.c perf sample: Make user_regs and intr_regs optional 2025-02-12 20:06:11 -08:00
pe-file-parsing.c perf tools: Don't read build-ids from non-regular files 2025-11-26 10:13:38 -08:00
pe-file.c
pe-file.exe
pe-file.exe.debug
perf-hooks.c
perf-record.c perf sample: Make sure perf_sample__init/exit are used 2026-04-05 23:12:15 -07:00
perf-targz-src-pkg perf test: Change all remaining #!/bin/sh to #!/bin/bash 2025-06-26 10:31:05 -07:00
perf-time-to-tsc.c perf test: Switch cycles event to cpu-cycles 2025-10-15 23:59:12 +09:00
pfm.c perf auxtrace: Remove errno.h from auxtrace.h and fix transitive dependencies 2025-11-13 23:03:11 -08:00
pmu-events.c perf stat: Reduce scope of walltime_nsecs_stats 2025-11-17 18:43:09 -08:00
pmu.c perf tests: Test evsel__set_config_if_unset() and config change tracking 2026-01-14 23:15:49 -03:00
sample-parsing.c perf test: Move PERF_SAMPLE_WEIGHT_STRUCT parsing to common test 2025-07-25 10:37:58 -07:00
sdt.c perf tools: Don't read build-ids from non-regular files 2025-11-26 10:13:38 -08:00
sigtrap.c perf btf: Make the sigtrap test helper to find a member by name widely available 2024-12-09 17:52:41 -03:00
stat.c perf stat: Move stat_config into config.c 2024-12-18 16:24:32 -03:00
subcmd-help.c perf test subcmd help: Add exclude disjoint subcmd names 2026-01-12 15:57:23 -03:00
sw-clock.c perf tests sw-clock: Mark the volatile tmp variable as __maybe_unused 2026-01-20 20:49:53 -03:00
switch-tracking.c perf sample: Make sure perf_sample__init/exit are used 2026-04-05 23:12:15 -07:00
symbols.c perf machine: Explicitly pass in host perf_env 2025-07-25 10:37:57 -07:00
task-exit.c perf target: Remove uid from target 2025-06-09 11:18:18 -07:00
tests-scripts.c perf test: Change all remaining #!/bin/sh to #!/bin/bash 2025-06-26 10:31:05 -07:00
tests-scripts.h
tests.h perf test workload: Add code_with_type test workload 2026-02-08 19:16:24 -03:00
thread-map.c perf tools: Use calloc() where applicable 2026-04-08 19:21:05 -07:00
thread-maps-share.c
time-utils-test.c
tool_pmu.c perf tests: Fix Tool PMU test segfault 2025-02-12 19:34:56 -08:00
topology.c perf data: Clean up use_stdio and structures 2026-04-08 19:21:17 -07:00
unit_number__scnprintf.c
util.c perf util: Remove SHA-1 code 2026-01-13 17:03:32 -03:00
vmlinux-kallsyms.c kallsyms: Get rid of kallsyms relative base 2026-01-22 15:58:22 -07:00
wp.c perf tools: Make more global variables static 2026-04-08 19:21:04 -07:00