linux-stable/tools/perf/tests
Veronika Molnarova c7e8c0e61d perf test record user-regs: Fix mask for vg register
[ Upstream commit 28b01743ca ]

The 'vg' register for arm64 shows up in --user_regs as available when
masking the variable AT_HWCAP with 1 << 22 returns '1' as done in
perf_regs.c.

However, in subtests for support of SVE, the check for the 'vg' register
is done by masking the variable AT_HWCAP with the value 0x200000 which
is equals to 1 << 21 instead of 1 << 22.

This results in inconsistencies on certain systems where the test
expects that the 'vg' register is not operational when it is, and
vice-versa.

During the testing on a machine that the test expected not to have the
'vg' register available, 'perf record' with the option --user-regs
showed records for the 'vg' register together with all of the others,
which means that the mask for the subtest of perf_event_attr is off by
one.

Change the value of the mask from 0x200000 to 0x400000 to correct it.

Fixes: 9440ebdc33 ("perf test arm64: Add attr tests for new VG register")
Reviewed-by: Leo Yan <leo.yan@linaro.org>
Signed-off-by: Veronika Molnarova <vmolnaro@redhat.com>
Cc: James Clark <james.clark@arm.com>
Cc: Michael Petlan <mpetlan@redhat.com>
Link: https://lore.kernel.org/r/20231201194617.13012-1-vmolnaro@redhat.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-01-25 15:35:51 -08:00
..
attr perf test record user-regs: Fix mask for vg register 2024-01-25 15:35:51 -08: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 stat_bpf_counters_cgrp: Enhance perf stat cgroup BPF counter test 2023-08-29 14:16:15 -03:00
workloads perf test: Remove atomics from test_loop to avoid test failures 2024-01-25 15:35:51 -08: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 pmus: Remove perf_pmus__has_hybrid 2023-05-27 09:42:38 -03:00
attr.py perf test attr: Fix python SafeConfigParser() deprecation warning 2023-05-19 10:36:35 -03:00
backward-ring-buffer.c
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.c
bp_signal_overflow.c
Build perf parse-events: Remove BPF event support 2023-08-15 16:41:48 -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 parse-events: Remove BPF event support 2023-08-15 16:41:48 -03:00
code-reading.c perf machine: Make delete_threads part of machine__exit 2023-06-12 15:57:53 -03:00
cpumap.c perf cpumap: Add equal function 2023-05-27 09:36:44 -03:00
demangle-java-test.c
demangle-ocaml-test.c
dlfilter-test.c perf dlfilter: Add al_cleanup() 2023-08-15 16:41:49 -03:00
dso-data.c
dwarf-unwind.c perf machine: Make delete_threads part of machine__exit 2023-06-12 15:57:53 -03:00
event-times.c perf tools: Do not pass NULL to parse_events() 2022-08-10 14:30:09 -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
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
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 metric: Add #num_cpus_online literal 2023-08-30 23:03:03 -03:00
fdarray.c
genelf.c
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 perf thread: Add reference count checking 2023-06-12 15:57:53 -03:00
hists_output.c perf addr_location: Add init/exit/copy functions 2023-06-12 15:57:53 -03:00
is_printable_array.c
keep-tracking.c perf tools: Do not pass NULL to parse_events() 2022-08-10 14:30:09 -03:00
kmod-path.c
make perf bpf: Remove support for embedding clang for compiling BPF events (-e foo.c) 2023-08-15 16:41:48 -03:00
maps.c perf maps: Make delete static, always use put 2023-06-12 15:57:53 -03:00
mem.c
mem2node.c perf tools: Use dedicated non-atomic clear/set bit helpers 2022-12-05 09:29:06 -03:00
mmap-basic.c perf tests mmap-basic: Adapt for riscv 2023-08-16 08:52:47 -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 perf tests: Avoid pthread.h inclusion 2022-10-04 08:55:19 -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: Fixes relating to no_value terms 2023-09-02 08:12:15 -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
pe-file.exe
pe-file.exe.debug
perf-hooks.c
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 perf tools: Move 'struct perf_sample' to a separate header file to disentangle headers 2022-10-31 11:06:41 -03:00
pfm.c perf evlist: Remove nr_groups 2023-03-13 17:42:27 -03:00
pmu-events.c perf jevents: Use "default_core" for events with no Unit 2023-08-29 14:16:15 -03:00
pmu.c perf parse-events: Make term's config const 2023-08-25 10:22:34 -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
sigtrap.c perf test: Skip sigtrap test on old kernels 2022-10-04 08:55:22 -03:00
stat.c perf stat: Avoid uninitialized use of perf_stat_config 2023-07-24 18:23:18 -03:00
sw-clock.c perf tools: Move 'struct perf_sample' to a separate header file to disentangle headers 2022-10-31 11:06:41 -03:00
switch-tracking.c perf pmus: Remove perf_pmus__has_hybrid 2023-05-27 09:42:38 -03:00
symbols.c perf machine: Make delete_threads part of machine__exit 2023-06-12 15:57:53 -03:00
task-exit.c perf test task_exit: No need for a cycles event to check if we get an PERF_RECORD_EXIT 2023-07-17 10:27:44 -03:00
tests.h perf parse-events: Remove BPF event support 2023-08-15 16:41:48 -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 perf thread: Add accessor functions for thread 2023-06-12 15:57:53 -03:00
time-utils-test.c
topology.c perf pmus: Remove perf_pmus__has_hybrid 2023-05-27 09:42:38 -03:00
unit_number__scnprintf.c
vmlinux-kallsyms.c perf map: Add set_ methods for map->{start,end,pgoff,pgoff,reloc,erange_warned,dso,map_ip,unmap_ip,priv} 2023-04-19 12:54:41 -03:00
wp.c perf test: Skip watchpoint tests if no watchpoints available 2022-11-23 10:32:53 -03:00