linux/tools/perf/tests
Ian Rogers 9a8dd2f24d perf test shell daemon: Make signal test less racy
The daemon signal test sends signals and then expects files to be
written. It was observed on an Intel Alderlake that the signals were
sent too quickly leading to the 3 expected files not appearing.

To avoid this send the next signal only after the expected previous file
has appeared. To avoid an infinite loop the number of retries is
limited.

Signed-off-by: Ian Rogers <irogers@google.com>
Acked-by: Jiri Olsa <jolsa@kernel.org>
Acked-by: Namhyung Kim <namhyung@kernel.org>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Athira Rajeev <atrajeev@linux.vnet.ibm.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Kajol Jain <kjain@linux.ibm.com>
Cc: Kan Liang <kan.liang@linux.intel.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Ravi Bangoria <ravi.bangoria@amd.com>
Cc: Ross Zwisler <zwisler@chromium.org>
Cc: Shirisha G <shirisha@linux.ibm.com>
Link: https://lore.kernel.org/r/20240124043015.1388867-6-irogers@google.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2024-01-26 10:51:49 -03:00
..
attr perf test: test case 'Setup struct perf_event_attr' fails on s390 on z/vm 2024-01-04 18:44:53 -03:00
config-fragments perf tools: Add a place to put kernel config fragments for test runs 2023-07-28 19:01:16 -03:00
shell perf test shell daemon: Make signal test less racy 2024-01-26 10:51:49 -03:00
workloads perf test: Remove atomics from test_loop to avoid test failures 2023-11-27 10:21:06 -03:00
api-io.c perf tests api-io: Use zfree() to reduce chances of use after free 2023-04-12 10:14:58 -03:00
attr.c perf tests attr: Fix spelling mistake "whic" to "which" 2023-11-09 13:49:33 -03:00
attr.py perf test attr: Fix python SafeConfigParser() deprecation warning 2023-05-19 10:36:35 -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 tools: Use dedicated non-atomic clear/set bit helpers 2022-12-05 09:29:06 -03:00
bp_account.c perf test: Fix variable length array undefined behavior in bp_account 2022-06-19 10:41:43 -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
Build perf build: Shellcheck support for OUTPUT directory 2023-12-05 15:46:43 -03:00
builtin-test-list.c perf test: Refactor shell tests allowing subdirs 2022-08-13 15:13:20 -03:00
builtin-test-list.h perf test: Refactor shell tests allowing subdirs 2022-08-13 15:13:20 -03:00
builtin-test.c perf tests: Make DSO tests a suite rather than individual 2023-12-18 21:34:36 -03:00
code-reading.c libperf cpumap: Replace usage of perf_cpu_map__new(NULL) with perf_cpu_map__new_online_cpus() 2023-12-12 14:55:13 -03:00
cpumap.c libperf cpumap: Rename perf_cpu_map__dummy_new() to perf_cpu_map__new_any_cpu() 2023-12-12 14:01:47 -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 dlfilter: Add al_cleanup() 2023-08-15 16:41:49 -03:00
dso-data.c perf tests: Make DSO tests a suite rather than individual 2023-12-18 21:34:36 -03:00
dwarf-unwind.c perf machine: Make delete_threads part of machine__exit 2023-06-12 15:57:53 -03:00
event_groups.c perf pmu: Separate pmu and pmus 2023-05-27 09:41:39 -03:00
event_update.c perf events: Prefer union over variable length array 2022-10-04 08:55:21 -03:00
event-times.c perf tools: Do not pass NULL to parse_events() 2022-08-10 14:30:09 -03:00
evsel-roundtrip-name.c perf test: Roundtrip name, don't assume 1 event per name 2023-05-15 09:12:13 -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 evsel: Introduce evsel__name_is() method to check if the evsel name is equal to a given string 2023-04-24 14:28:11 -03:00
expr.c perf pmu: Move pmu__find_core_pmu() to pmus.c 2023-09-15 16:46:40 -07: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 thread: Add accessor functions for thread 2023-06-12 15:57:53 -03:00
hists_common.h
hists_cumulate.c perf addr_location: Add init/exit/copy functions 2023-06-12 15:57:53 -03:00
hists_filter.c perf addr_location: Add init/exit/copy functions 2023-06-12 15:57:53 -03:00
hists_link.c libperf rc_check: Add RC_CHK_EQUAL 2023-10-25 13:37:22 -07:00
hists_output.c perf addr_location: Add init/exit/copy functions 2023-06-12 15:57:53 -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 libperf cpumap: Replace usage of perf_cpu_map__new(NULL) with perf_cpu_map__new_online_cpus() 2023-12-12 14:55:13 -03:00
kmod-path.c perf test: Rename struct test to test_suite 2021-11-13 10:32:22 -03:00
make perf tests make: Remove the last egrep call, use 'grep -E' instead 2023-11-03 12:25:53 -03:00
maps.c perf tests: Use function to add missing maps lock 2023-12-18 21:35:01 -03:00
mem2node.c perf tools: Use dedicated non-atomic clear/set bit helpers 2022-12-05 09:29:06 -03:00
mem.c perf test: Rename struct test to test_suite 2021-11-13 10:32:22 -03:00
mmap-basic.c libperf cpumap: Replace usage of perf_cpu_map__new(NULL) with perf_cpu_map__new_online_cpus() 2023-12-12 14:55:13 -03:00
mmap-thread-lookup.c perf machine: Make delete_threads part of machine__exit 2023-06-12 15:57:53 -03:00
openat-syscall-all-cpus.c libperf cpumap: Replace usage of perf_cpu_map__new(NULL) with perf_cpu_map__new_online_cpus() 2023-12-12 14:55:13 -03:00
openat-syscall-tp-fields.c perf tools: Move 'struct perf_sample' to a separate header file to disentangle headers 2022-10-31 11:06:41 -03:00
openat-syscall.c perf thread_map: Reduce exposure of libperf internal API 2022-11-16 12:17:15 -03:00
parse-events.c perf parse-events: Make legacy events lower priority than sysfs/JSON 2023-11-27 10:21:27 -03:00
parse-metric.c perf pmus: Remove perf_pmus__has_hybrid 2023-05-27 09:42:38 -03:00
parse-no-sample-id-all.c perf tools: Move 'struct perf_sample' to a separate header file to disentangle headers 2022-10-31 11:06:41 -03:00
pe-file-parsing.c perf test: Fix a compile error on pe-file-parsing.c 2023-06-27 12:14:38 -07: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 tests: Add missing event.h include 2022-10-31 11:07:08 -03:00
perf-targz-src-pkg perf thread: Add accessor functions for thread 2023-06-12 15:57:53 -03:00
perf-time-to-tsc.c libperf cpumap: Replace usage of perf_cpu_map__new(NULL) with perf_cpu_map__new_online_cpus() 2023-12-12 14:55:13 -03:00
pfm.c perf evlist: Remove nr_groups 2023-03-13 17:42:27 -03:00
pmu-events.c perf test: Add pmu-event test for "Compat" and new event_field. 2023-09-27 21:02:41 -07:00
pmu.c perf parse-events: Introduce 'struct parse_events_terms' 2023-09-11 10:26:36 -03:00
python-use.c perf test python: Put perf python at start of sys.path 2023-05-27 09:35:14 -03:00
sample-parsing.c perf script: Show branch speculation info 2023-02-02 17:18:31 -03:00
sdt.c perf test: Rename struct test to test_suite 2021-11-13 10:32:22 -03:00
sigtrap.c perf tests sigtrap: Skip if running on a kernel with sleepable spinlocks 2023-11-29 17:49:24 -03:00
stat.c perf stat: Avoid uninitialized use of perf_stat_config 2023-07-24 18:23:18 -03:00
sw-clock.c libperf cpumap: Rename perf_cpu_map__dummy_new() to perf_cpu_map__new_any_cpu() 2023-12-12 14:01:47 -03:00
switch-tracking.c libperf cpumap: Replace usage of perf_cpu_map__new(NULL) with perf_cpu_map__new_online_cpus() 2023-12-12 14:55:13 -03:00
symbols.c perf machine: Make delete_threads part of machine__exit 2023-06-12 15:57:53 -03:00
task-exit.c libperf cpumap: Rename perf_cpu_map__dummy_new() to perf_cpu_map__new_any_cpu() 2023-12-12 14:01:47 -03:00
tests.h perf test: Add option to change objdump binary 2023-11-09 13:49:33 -03:00
thread-map.c perf thread_map: Reduce exposure of libperf internal API 2022-11-16 12:17:15 -03:00
thread-maps-share.c libperf rc_check: Add RC_CHK_EQUAL 2023-10-25 13:37:22 -07:00
time-utils-test.c perf test: Rename struct test to test_suite 2021-11-13 10:32:22 -03:00
topology.c libperf cpumap: Replace usage of perf_cpu_map__new(NULL) with perf_cpu_map__new_online_cpus() 2023-12-12 14:55:13 -03:00
unit_number__scnprintf.c perf test: Rename struct test to test_suite 2021-11-13 10:32:22 -03:00
util.c perf util: Add a function for replacing characters in a string 2023-09-12 17:32:00 -03:00
vmlinux-kallsyms.c perf tests: Use function to add missing maps lock 2023-12-18 21:35:01 -03:00
wp.c perf test: Skip watchpoint tests if no watchpoints available 2022-11-23 10:32:53 -03:00