Ian Rogers
1aa79e5773
perf test: Reset shadow counts before loading
...
Otherwise load counting is an average. Without this change
duration_time in test_memory_bandwidth will alter its value if an
earlier test contains duration_time.
This patch fixes an issue that's introduced in the proposed patch:
https://lore.kernel.org/lkml/[email protected] /
in perf test "Parse and process metrics".
Signed-off-by: Ian Rogers <[email protected] >
Acked-by: Jiri Olsa <[email protected] >
Cc: Alexander Shishkin <[email protected] >
Cc: Andi Kleen <[email protected] >
Cc: John Garry <[email protected] >
Cc: Kajol Jain <[email protected] >
Cc: Kan Liang <[email protected] >
Cc: Mark Rutland <[email protected] >
Cc: Namhyung Kim <[email protected] >
Cc: Paul Clarke <[email protected] >
Cc: Peter Zijlstra <[email protected] >
Cc: Stephane Eranian <[email protected] >
Link: http://lore.kernel.org/lkml/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected] >
2021-12-06 21:57:53 -03:00
Thomas Richter
6c481031c9
perf test: Fix 'Simple expression parser' test on arch without CPU die topology info
...
Some platforms do not have CPU die support, for example s390.
Commit
Cc: Ian Rogers <[email protected] >
Fixes: fdf1e29b61 ("perf expr: Add metric literals for topology.")
fails on s390:
# perf test -Fv 7
...
# FAILED tests/expr.c:173 #num_dies >= #num_packages
---- end ----
Simple expression parser: FAILED!
#
Investigating this issue leads to these functions:
build_cpu_topology()
+--> has_die_topology(void)
{
struct utsname uts;
if (uname(&uts) < 0)
return false;
if (strncmp(uts.machine, "x86_64", 6))
return false;
....
}
which always returns false on s390. The caller build_cpu_topology()
checks has_die_topology() return value. On false the the struct
cpu_topology::die_cpu_list is not contructed and has zero entries. This
leads to the failing comparison: #num_dies >= #num_packages. s390 of
course has a positive number of packages.
Fix this and check if the function build_cpu_topology() did build up
a die_cpus_list. The number of entries in this list should be larger
than 0. If the number of list element is zero, the die_cpus_list has
not been created and the check in function test__expr():
TEST_ASSERT_VAL("#num_dies >= #num_packages", \
num_dies >= num_packages)
always fails.
Output after:
# perf test -Fv 7
7: Simple expression parser :
--- start ---
division by zero
syntax error
---- end ----
Simple expression parser: Ok
#
Fixes: fdf1e29b61 ("perf expr: Add metric literals for topology.")
Signed-off-by: Thomas Richter <[email protected] >
Acked-by: Ian Rogers <[email protected] >
Cc: Heiko Carstens <[email protected] >
Cc: Sumanth Korikkar <[email protected] >
Cc: Sven Schnelle <[email protected] >
Cc: Vasily Gorbik <[email protected] >
Link: http://lore.kernel.org/lkml/[email protected]
[ Added comment in the added 'if (num_dies)' line about architectures not having die topology ]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected] >
2021-12-06 21:57:53 -03:00
Ian Rogers
b194c9cd09
perf evsel: Fix memory leaks relating to unit
...
unit may have a strdup pointer or be to a literal, consequently memory
assocciated with it isn't freed. Change it so the unit is always strdup
and so the memory can be safely freed.
Fix related issue in perf_event__process_event_update() for name and
own_cpus. Leaks were spotted by leak sanitizer.
Signed-off-by: Ian Rogers <[email protected] >
Cc: Alexander Shishkin <[email protected] >
Cc: Jiri Olsa <[email protected] >
Cc: Mark Rutland <[email protected] >
Cc: Namhyung Kim <[email protected] >
Cc: Peter Zijlstra <[email protected] >
Cc: Stephane Eranian <[email protected] >
Link: http://lore.kernel.org/lkml/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected] >
2021-11-18 10:19:14 -03:00
Thomas Richter
cb5a63feae
perf test sample-parsing: Fix branch_stack entry endianness check
...
Commit 10269a2ca2 ("perf test sample-parsing: Add endian test for
struct branch_flags") broke the test case 27 (Sample parsing) on s390 on
linux-next tree:
# perf test -Fv 27
27: Sample parsing
--- start ---
parsing failed for sample_type 0x800
---- end ----
Sample parsing: FAILED!
#
The cause of the failure is a wrong #define BS_EXPECTED_BE statement in
above commit. Correct this define and the test case runs fine.
Output After:
# perf test -Fv 27
27: Sample parsing :
--- start ---
---- end ----
Sample parsing: Ok
#
Fixes: 10269a2ca2 ("perf test sample-parsing: Add endian test for struct branch_flags")
Signed-off-by: Thomas Richter <[email protected] >
Tested-by: Madhavan Srinivasan <[email protected] >
Acked-by: Madhavan Srinivasan <[email protected] >
CC: Sven Schnelle <[email protected] >
Cc: Heiko Carstens <[email protected] >
Cc: Jiri Olsa <[email protected] >
Cc: Sumanth Korikkar <[email protected] >
Cc: Vasily Gorbik <[email protected] >
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected] >
2021-11-18 10:08:07 -03:00
Arnaldo Carvalho de Melo
ccb05590c4
perf tests wp: Remove unused functions on s390
...
Fixing these build problems:
tests/wp.c:24:12: error: 'wp_read' defined but not used [-Werror=unused-function]
static int wp_read(int fd, long long *count, int size)
^
tests/wp.c:35:13: error: 'get__perf_event_attr' defined but not used [-Werror=unused-function]
static void get__perf_event_attr(struct perf_event_attr *attr, int wp_type,
^
CC /tmp/build/perf/util/print_binary.o
Fixes: e47c6ecaae ("perf test: Convert watch point tests to test cases.")
Cc: Alexander Shishkin <[email protected] >
Cc: Brendan Higgins <[email protected] >
Cc: Daniel Latypov <[email protected] >
Cc: David Gow <[email protected] >
Cc: Ian Rogers <[email protected] >
Cc: Ingo Molnar <[email protected] >
Cc: Jin Yao <[email protected] >
Cc: Jiri Olsa <[email protected] >
Cc: John Garry <[email protected] >
Cc: Mark Rutland <[email protected] >
Cc: Namhyung Kim <[email protected] >
Cc: Paul Clarke <[email protected] >
Cc: Peter Zijlstra <[email protected] >
Cc: Sohaib Mohamed <[email protected] >
Cc: Stephane Eranian <[email protected] >
Signed-off-by: Arnaldo Carvalho de Melo <[email protected] >
2021-11-18 10:08:07 -03:00
James Clark
ac96f463cc
perf tests: Remove bash constructs from stat_all_pmu.sh
...
The tests were passing but without testing and were printing the
following:
$ ./perf test -v 90
90: perf all PMU test :
--- start ---
test child forked, pid 51650
Testing cpu/branch-instructions/
./tests/shell/stat_all_pmu.sh: 10: [:
Performance counter stats for 'true':
137,307 cpu/branch-instructions/
0.001686672 seconds time elapsed
0.001376000 seconds user
0.000000000 seconds sys: unexpected operator
Changing the regexes to a grep works in sh and prints this:
$ ./perf test -v 90
90: perf all PMU test :
--- start ---
test child forked, pid 60186
[...]
Testing tlb_flush.stlb_any
test child finished with 0
---- end ----
perf all PMU test: Ok
Signed-off-by: James Clark <[email protected] >
Cc: Alexander Shishkin <[email protected] >
Cc: Florian Fainelli <[email protected] >
Cc: Ian Rogers <[email protected] >
Cc: Jiri Olsa <[email protected] >
Cc: John Fastabend <[email protected] >
Cc: KP Singh <[email protected] >
Cc: Mark Rutland <[email protected] >
Cc: Martin KaFai Lau <[email protected] >
Cc: Namhyung Kim <[email protected] >
Cc: Song Liu <[email protected] >
Cc: Sumanth Korikkar <[email protected] >
Cc: Thomas Richter <[email protected] >
Cc: Yonghong Song <[email protected] >
Cc: [email protected]
Cc: [email protected]
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected] >
2021-11-13 18:11:51 -03:00
James Clark
a9cdc1c5e3
perf tests: Remove bash construct from record+zstd_comp_decomp.sh
...
Commit 463538a383 ("perf tests: Fix test 68 zstd compression for
s390") inadvertently removed the -g flag from all platforms rather than
just s390, because the [[ ]] construct fails in sh. Changing to single
brackets restores testing of call graphs and removes the following error
from the output:
$ ./perf test -v 85
85: Zstd perf.data compression/decompression :
--- start ---
test child forked, pid 50643
Collecting compressed record file:
./tests/shell/record+zstd_comp_decomp.sh: 15: [[: not found
Fixes: 463538a383 ("perf tests: Fix test 68 zstd compression for s390")
Signed-off-by: James Clark <[email protected] >
Cc: Alexander Shishkin <[email protected] >
Cc: Florian Fainelli <[email protected] >
Cc: Ian Rogers <[email protected] >
Cc: Jiri Olsa <[email protected] >
Cc: John Fastabend <[email protected] >
Cc: KP Singh <[email protected] >
Cc: Mark Rutland <[email protected] >
Cc: Martin KaFai Lau <[email protected] >
Cc: Namhyung Kim <[email protected] >
Cc: Song Liu <[email protected] >
Cc: Sumanth Korikkar <[email protected] >
Cc: Thomas Richter <[email protected] >
Cc: Yonghong Song <[email protected] >
Cc: [email protected]
Cc: [email protected]
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected] >
2021-11-13 18:11:51 -03:00
James Clark
c8b947642d
perf test: Remove bash construct from stat_bpf_counters.sh test
...
Currently the test skips with an error because == only works in bash:
$ ./perf test 91 -v
Couldn't bump rlimit(MEMLOCK), failures may take place when creating BPF maps, etc
91: perf stat --bpf-counters test :
--- start ---
test child forked, pid 44586
./tests/shell/stat_bpf_counters.sh: 26: [: -v: unexpected operator
test child finished with -2
---- end ----
perf stat --bpf-counters test: Skip
Changing == to = does the same thing, but doesn't result in an error:
./perf test 91 -v
Couldn't bump rlimit(MEMLOCK), failures may take place when creating BPF maps, etc
91: perf stat --bpf-counters test :
--- start ---
test child forked, pid 45833
Skipping: --bpf-counters not supported
Error: unknown option `bpf-counters'
[...]
test child finished with -2
---- end ----
perf stat --bpf-counters test: Skip
Signed-off-by: James Clark <[email protected] >
Cc: Alexander Shishkin <[email protected] >
Cc: Florian Fainelli <[email protected] >
Cc: Ian Rogers <[email protected] >
Cc: Jiri Olsa <[email protected] >
Cc: John Fastabend <[email protected] >
Cc: KP Singh <[email protected] >
Cc: Mark Rutland <[email protected] >
Cc: Martin KaFai Lau <[email protected] >
Cc: Namhyung Kim <[email protected] >
Cc: Song Liu <[email protected] >
Cc: Sumanth Korikkar <[email protected] >
Cc: Thomas Richter <[email protected] >
Cc: Yonghong Song <[email protected] >
Cc: [email protected]
Cc: [email protected]
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected] >
2021-11-13 18:11:51 -03:00
Guo Zhengkui
f08a8fccd7
perf test bpf: Use ARRAY_CHECK() instead of ad-hoc equivalent, addressing array_size.cocci warning
...
Address following coccicheck warnings:
./tools/perf/tests/bpf.c:316:22-23: WARNING: Use ARRAY_SIZE.
Signed-off-by: Guo Zhengkui <[email protected] >
Cc: Alexander Shishkin <[email protected] >
Cc: Alexei Starovoitov <[email protected] >
Cc: Andrii Nakryiko <[email protected] >
Cc: Daniel Borkmann <[email protected] >
Cc: Ian Rogers <[email protected] >
Cc: Jiri Olsa <[email protected] >
Cc: John Fastabend <[email protected] >
Cc: KP Singh <[email protected] >
Cc: Mark Rutland <[email protected] >
Cc: Martin KaFai Lau <[email protected] >
Cc: Michael Petlan <[email protected] >
Cc: Namhyung Kim <[email protected] >
Cc: Peter Zijlstra <[email protected] >
Cc: Riccardo Mancini <[email protected] >
Cc: Song Liu <[email protected] >
Cc: Thomas Richter <[email protected] >
Cc: Yonghong Song <[email protected] >
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Link: http://lore.kernel.org/lkml/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected] >
2021-11-13 18:11:51 -03:00
German Gomez
6b1b208bef
perf arm-spe: Snapshot mode test
...
Shell script test_arm_spe.sh has been added to test the recording of SPE
tracing events in snapshot mode.
Reviewed-by: Leo Yan <[email protected] >
Signed-off-by: German Gomez <[email protected] >
Acked-by: Namhyung Kim <[email protected] >
Cc: Alexander Shishkin <[email protected] >
Cc: Jiri Olsa <[email protected] >
Cc: John Garry <[email protected] >
Cc: Mark Rutland <[email protected] >
Cc: Mathieu Poirier <[email protected] >
Cc: Will Deacon <[email protected] >
Cc: [email protected]
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected] >
2021-11-13 18:11:50 -03:00
Ian Rogers
9aba0adae8
perf expr: Add source_count for aggregating events
...
Events like uncore_imc/cas_count_read/ on Skylake open multiple events
and then aggregate in the metric leader. To determine the average value
per event the number of these events is needed. Add a source_count
function that returns this value by counting the number of events with
the given metric leader. For most events the value is 1 but for
uncore_imc/cas_count_read/ it can yield values like 6.
Add a generic test, but manually tested with a test metric that uses
the function.
Signed-off-by: Ian Rogers <[email protected] >
Acked-by: Jiri Olsa <[email protected] >
Cc: Alexander Shishkin <[email protected] >
Cc: Andi Kleen <[email protected] >
Cc: Ingo Molnar <[email protected] >
Cc: John Garry <[email protected] >
Cc: Kajol Jain <[email protected] >
Cc: Kan Liang <[email protected] >
Cc: Madhavan Srinivasan <[email protected] >
Cc: Mark Rutland <[email protected] >
Cc: Namhyung Kim <[email protected] >
Cc: Paul A . Clarke <[email protected] >
Cc: Peter Zijlstra <[email protected] >
Cc: Riccardo Mancini <[email protected] >
Cc: Song Liu <[email protected] >
Cc: Wan Jiabing <[email protected] >
Cc: Yury Norov <[email protected] >
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected] >
2021-11-13 18:11:50 -03:00
Ian Rogers
fdf1e29b61
perf expr: Add metric literals for topology.
...
Allow the number of cpus, cores, dies and packages to be queried by a
metric expression.
Signed-off-by: Ian Rogers <[email protected] >
Acked-by: Jiri Olsa <[email protected] >
Cc: Alexander Shishkin <[email protected] >
Cc: Andi Kleen <[email protected] >
Cc: Ingo Molnar <[email protected] >
Cc: John Garry <[email protected] >
Cc: Kajol Jain <[email protected] >
Cc: Kan Liang <[email protected] >
Cc: Madhavan Srinivasan <[email protected] >
Cc: Mark Rutland <[email protected] >
Cc: Namhyung Kim <[email protected] >
Cc: Paul A . Clarke <[email protected] >
Cc: Peter Zijlstra <[email protected] >
Cc: Riccardo Mancini <[email protected] >
Cc: Song Liu <[email protected] >
Cc: Wan Jiabing <[email protected] >
Cc: Yury Norov <[email protected] >
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected] >
2021-11-13 18:11:50 -03:00
Ian Rogers
604ce2f004
perf test: Add expr test for events with hyphens
...
An example of such an event is topdown-fe-bound.
Signed-off-by: Ian Rogers <[email protected] >
Acked-by: Jiri Olsa <[email protected] >
Cc: Alexander Shishkin <[email protected] >
Cc: Andi Kleen <[email protected] >
Cc: Ingo Molnar <[email protected] >
Cc: John Garry <[email protected] >
Cc: Kajol Jain <[email protected] >
Cc: Kan Liang <[email protected] >
Cc: Madhavan Srinivasan <[email protected] >
Cc: Mark Rutland <[email protected] >
Cc: Namhyung Kim <[email protected] >
Cc: Paul A . Clarke <[email protected] >
Cc: Peter Zijlstra <[email protected] >
Cc: Riccardo Mancini <[email protected] >
Cc: Song Liu <[email protected] >
Cc: Wan Jiabing <[email protected] >
Cc: Yury Norov <[email protected] >
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected] >
2021-11-13 18:11:50 -03:00
Ian Rogers
b47d2fb40f
perf test: Remove skip_if_fail
...
Remove optionality, always run tests in a suite even if one fails. This
brings perf's test more inline with kunit that lacks this notion.
Signed-off-by: Ian Rogers <[email protected] >
Tested-by: Sohaib Mohamed <[email protected] >
Acked-by: Jiri Olsa <[email protected] >
Cc: Alexander Shishkin <[email protected] >
Cc: Brendan Higgins <[email protected] >
Cc: Daniel Latypov <[email protected] >
Cc: David Gow <[email protected] >
Cc: Ingo Molnar <[email protected] >
Cc: Jin Yao <[email protected] >
Cc: John Garry <[email protected] >
Cc: Mark Rutland <[email protected] >
Cc: Namhyung Kim <[email protected] >
Cc: Paul Clarke <[email protected] >
Cc: Peter Zijlstra <[email protected] >
Cc: Stephane Eranian <[email protected] >
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected] >
2021-11-13 18:11:50 -03:00
Ian Rogers
848ddf5999
perf test: Remove is_supported function
...
All tests now return TEST_SKIP if not supported. Removing this function
brings perf's test_suite struct more inline with kunit.
Signed-off-by: Ian Rogers <[email protected] >
Tested-by: Sohaib Mohamed <[email protected] >
Acked-by: Jiri Olsa <[email protected] >
Cc: Alexander Shishkin <[email protected] >
Cc: Brendan Higgins <[email protected] >
Cc: Daniel Latypov <[email protected] >
Cc: David Gow <[email protected] >
Cc: Ingo Molnar <[email protected] >
Cc: Jin Yao <[email protected] >
Cc: John Garry <[email protected] >
Cc: Mark Rutland <[email protected] >
Cc: Namhyung Kim <[email protected] >
Cc: Paul Clarke <[email protected] >
Cc: Peter Zijlstra <[email protected] >
Cc: Stephane Eranian <[email protected] >
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected] >
2021-11-13 18:11:50 -03:00
Ian Rogers
e74dd9cb33
perf test: TSC test, remove is_supported use
...
Migrate the is_supported functionality to returning TEST_SKIP.
Motivation is kunit has no is_supported function.
Signed-off-by: Ian Rogers <[email protected] >
Tested-by: Sohaib Mohamed <[email protected] >
Acked-by: Jiri Olsa <[email protected] >
Cc: Alexander Shishkin <[email protected] >
Cc: Brendan Higgins <[email protected] >
Cc: Daniel Latypov <[email protected] >
Cc: David Gow <[email protected] >
Cc: Ingo Molnar <[email protected] >
Cc: Jin Yao <[email protected] >
Cc: John Garry <[email protected] >
Cc: Mark Rutland <[email protected] >
Cc: Namhyung Kim <[email protected] >
Cc: Paul Clarke <[email protected] >
Cc: Peter Zijlstra <[email protected] >
Cc: Stephane Eranian <[email protected] >
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected] >
2021-11-13 18:11:50 -03:00
Ian Rogers
4935e2cd1b
perf test: BP tests, remove is_supported use
...
Migrate the is_supported functionality to returning TEST_SKIP.
Motivation is kunit has no is_supported function.
Signed-off-by: Ian Rogers <[email protected] >
Tested-by: Sohaib Mohamed <[email protected] >
Acked-by: Jiri Olsa <[email protected] >
Cc: Alexander Shishkin <[email protected] >
Cc: Brendan Higgins <[email protected] >
Cc: Daniel Latypov <[email protected] >
Cc: David Gow <[email protected] >
Cc: Ingo Molnar <[email protected] >
Cc: Jin Yao <[email protected] >
Cc: John Garry <[email protected] >
Cc: Mark Rutland <[email protected] >
Cc: Namhyung Kim <[email protected] >
Cc: Paul Clarke <[email protected] >
Cc: Peter Zijlstra <[email protected] >
Cc: Stephane Eranian <[email protected] >
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected] >
2021-11-13 18:11:50 -03:00
Ian Rogers
c76ec1cf25
perf test: Remove non test case style support.
...
Convert shell tests to also run using test case style.
Signed-off-by: Ian Rogers <[email protected] >
Tested-by: Sohaib Mohamed <[email protected] >
Acked-by: Jiri Olsa <[email protected] >
Cc: Alexander Shishkin <[email protected] >
Cc: Brendan Higgins <[email protected] >
Cc: Daniel Latypov <[email protected] >
Cc: David Gow <[email protected] >
Cc: Ingo Molnar <[email protected] >
Cc: Jin Yao <[email protected] >
Cc: John Garry <[email protected] >
Cc: Mark Rutland <[email protected] >
Cc: Namhyung Kim <[email protected] >
Cc: Paul Clarke <[email protected] >
Cc: Peter Zijlstra <[email protected] >
Cc: Stephane Eranian <[email protected] >
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected] >
2021-11-13 18:11:50 -03:00
Ian Rogers
1870356f35
perf test: Convert time to tsc test to test case.
...
Migration toward kunit style test cases.
Signed-off-by: Ian Rogers <[email protected] >
Tested-by: Sohaib Mohamed <[email protected] >
Acked-by: Jiri Olsa <[email protected] >
Cc: Alexander Shishkin <[email protected] >
Cc: Brendan Higgins <[email protected] >
Cc: Daniel Latypov <[email protected] >
Cc: David Gow <[email protected] >
Cc: Ingo Molnar <[email protected] >
Cc: Jin Yao <[email protected] >
Cc: John Garry <[email protected] >
Cc: Mark Rutland <[email protected] >
Cc: Namhyung Kim <[email protected] >
Cc: Paul Clarke <[email protected] >
Cc: Peter Zijlstra <[email protected] >
Cc: Stephane Eranian <[email protected] >
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected] >
2021-11-13 18:11:50 -03:00
Ian Rogers
e329f03a1f
perf test: bp tests use test case
...
Migration toward kunit style test cases.
Signed-off-by: Ian Rogers <[email protected] >
Tested-by: Sohaib Mohamed <[email protected] >
Acked-by: Jiri Olsa <[email protected] >
Cc: Alexander Shishkin <[email protected] >
Cc: Brendan Higgins <[email protected] >
Cc: Daniel Latypov <[email protected] >
Cc: David Gow <[email protected] >
Cc: Ingo Molnar <[email protected] >
Cc: Jin Yao <[email protected] >
Cc: John Garry <[email protected] >
Cc: Mark Rutland <[email protected] >
Cc: Namhyung Kim <[email protected] >
Cc: Paul Clarke <[email protected] >
Cc: Peter Zijlstra <[email protected] >
Cc: Stephane Eranian <[email protected] >
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected] >
2021-11-13 18:11:49 -03:00
Ian Rogers
94e11fc771
perf test: Remove now unused subtest helpers
...
Replaced by null terminated test case array.
Signed-off-by: Ian Rogers <[email protected] >
Tested-by: Sohaib Mohamed <[email protected] >
Acked-by: Jiri Olsa <[email protected] >
Cc: Alexander Shishkin <[email protected] >
Cc: Brendan Higgins <[email protected] >
Cc: Daniel Latypov <[email protected] >
Cc: David Gow <[email protected] >
Cc: Ingo Molnar <[email protected] >
Cc: Jin Yao <[email protected] >
Cc: John Garry <[email protected] >
Cc: Mark Rutland <[email protected] >
Cc: Namhyung Kim <[email protected] >
Cc: Paul Clarke <[email protected] >
Cc: Peter Zijlstra <[email protected] >
Cc: Stephane Eranian <[email protected] >
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected] >
2021-11-13 18:11:49 -03:00
Ian Rogers
e65bc1fa29
perf test: Convert llvm tests to test cases.
...
Use null terminated array of test cases rather than the previous sub
test functions.
Signed-off-by: Ian Rogers <[email protected] >
Tested-by: Sohaib Mohamed <[email protected] >
Acked-by: Jiri Olsa <[email protected] >
Cc: Alexander Shishkin <[email protected] >
Cc: Brendan Higgins <[email protected] >
Cc: Daniel Latypov <[email protected] >
Cc: David Gow <[email protected] >
Cc: Ingo Molnar <[email protected] >
Cc: Jin Yao <[email protected] >
Cc: John Garry <[email protected] >
Cc: Mark Rutland <[email protected] >
Cc: Namhyung Kim <[email protected] >
Cc: Paul Clarke <[email protected] >
Cc: Peter Zijlstra <[email protected] >
Cc: Stephane Eranian <[email protected] >
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected] >
2021-11-13 18:11:49 -03:00
Ian Rogers
5801e96b88
perf test: Convert bpf tests to test cases.
...
Use null terminated array of test cases rather than the previous sub
test functions.
Signed-off-by: Ian Rogers <[email protected] >
Tested-by: Sohaib Mohamed <[email protected] >
Acked-by: Jiri Olsa <[email protected] >
Cc: Alexander Shishkin <[email protected] >
Cc: Brendan Higgins <[email protected] >
Cc: Daniel Latypov <[email protected] >
Cc: David Gow <[email protected] >
Cc: Ingo Molnar <[email protected] >
Cc: Jin Yao <[email protected] >
Cc: John Garry <[email protected] >
Cc: Mark Rutland <[email protected] >
Cc: Namhyung Kim <[email protected] >
Cc: Paul Clarke <[email protected] >
Cc: Peter Zijlstra <[email protected] >
Cc: Stephane Eranian <[email protected] >
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected] >
2021-11-13 18:11:49 -03:00
Ian Rogers
44a8528c24
perf test: Convert clang tests to test cases.
...
Use null terminated array of test cases rather than the previous sub
test functions.
Signed-off-by: Ian Rogers <[email protected] >
Tested-by: Sohaib Mohamed <[email protected] >
Acked-by: Jiri Olsa <[email protected] >
Cc: Alexander Shishkin <[email protected] >
Cc: Brendan Higgins <[email protected] >
Cc: Daniel Latypov <[email protected] >
Cc: David Gow <[email protected] >
Cc: Ingo Molnar <[email protected] >
Cc: Jin Yao <[email protected] >
Cc: John Garry <[email protected] >
Cc: Mark Rutland <[email protected] >
Cc: Namhyung Kim <[email protected] >
Cc: Paul Clarke <[email protected] >
Cc: Peter Zijlstra <[email protected] >
Cc: Stephane Eranian <[email protected] >
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected] >
2021-11-13 18:11:49 -03:00
Ian Rogers
e47c6ecaae
perf test: Convert watch point tests to test cases.
...
Use null terminated array of test cases rather than the previous sub
test functions.
Committer notes:
On s/390x we don't use __event(), so wrap it with __s390x__
Signed-off-by: Ian Rogers <[email protected] >
Tested-by: Sohaib Mohamed <[email protected] >
Acked-by: Jiri Olsa <[email protected] >
Cc: Alexander Shishkin <[email protected] >
Cc: Brendan Higgins <[email protected] >
Cc: Daniel Latypov <[email protected] >
Cc: David Gow <[email protected] >
Cc: Ingo Molnar <[email protected] >
Cc: Jin Yao <[email protected] >
Cc: John Garry <[email protected] >
Cc: Mark Rutland <[email protected] >
Cc: Namhyung Kim <[email protected] >
Cc: Paul Clarke <[email protected] >
Cc: Peter Zijlstra <[email protected] >
Cc: Stephane Eranian <[email protected] >
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected] >
2021-11-13 18:11:10 -03:00
Ian Rogers
2a74fe8283
perf test: Convert pmu event tests to test cases.
...
Use null terminated array of test cases rather than the previous sub
test functions.
Signed-off-by: Ian Rogers <[email protected] >
Tested-by: Sohaib Mohamed <[email protected] >
Acked-by: Jiri Olsa <[email protected] >
Cc: Alexander Shishkin <[email protected] >
Cc: Brendan Higgins <[email protected] >
Cc: Daniel Latypov <[email protected] >
Cc: David Gow <[email protected] >
Cc: Ingo Molnar <[email protected] >
Cc: Jin Yao <[email protected] >
Cc: John Garry <[email protected] >
Cc: Mark Rutland <[email protected] >
Cc: Namhyung Kim <[email protected] >
Cc: Paul Clarke <[email protected] >
Cc: Peter Zijlstra <[email protected] >
Cc: Stephane Eranian <[email protected] >
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected] >
2021-11-13 10:32:27 -03:00
Ian Rogers
039f355545
perf test: Convert pfm tests to use test cases.
...
Use null terminated array of test cases rather than the previous sub
test functions.
Signed-off-by: Ian Rogers <[email protected] >
Tested-by: Sohaib Mohamed <[email protected] >
Acked-by: Jiri Olsa <[email protected] >
Cc: Alexander Shishkin <[email protected] >
Cc: Brendan Higgins <[email protected] >
Cc: Daniel Latypov <[email protected] >
Cc: David Gow <[email protected] >
Cc: Ingo Molnar <[email protected] >
Cc: Jin Yao <[email protected] >
Cc: John Garry <[email protected] >
Cc: Mark Rutland <[email protected] >
Cc: Namhyung Kim <[email protected] >
Cc: Paul Clarke <[email protected] >
Cc: Peter Zijlstra <[email protected] >
Cc: Stephane Eranian <[email protected] >
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected] >
2021-11-13 10:32:26 -03:00
Ian Rogers
9be56d3080
perf test: Add skip reason to test case.
...
This doesn't exist in kunit, but will ease the transition from perf
tests.
Signed-off-by: Ian Rogers <[email protected] >
Tested-by: Sohaib Mohamed <[email protected] >
Acked-by: Jiri Olsa <[email protected] >
Cc: Alexander Shishkin <[email protected] >
Cc: Brendan Higgins <[email protected] >
Cc: Daniel Latypov <[email protected] >
Cc: David Gow <[email protected] >
Cc: Ingo Molnar <[email protected] >
Cc: Jin Yao <[email protected] >
Cc: John Garry <[email protected] >
Cc: Mark Rutland <[email protected] >
Cc: Namhyung Kim <[email protected] >
Cc: Paul Clarke <[email protected] >
Cc: Peter Zijlstra <[email protected] >
Cc: Stephane Eranian <[email protected] >
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected] >
2021-11-13 10:32:26 -03:00
Ian Rogers
78244d2e21
perf test: Add test case struct.
...
Add a test case struct mirroring the 'struct kunit_case'. Use the struct
with the DEFINE_SUITE macro, where the single test is turned into a test
case. Update the helpers in builtin-test to handle test cases.
Signed-off-by: Ian Rogers <[email protected] >
Tested-by: Sohaib Mohamed <[email protected] >
Acked-by: Jiri Olsa <[email protected] >
Cc: Alexander Shishkin <[email protected] >
Cc: Brendan Higgins <[email protected] >
Cc: Daniel Latypov <[email protected] >
Cc: David Gow <[email protected] >
Cc: Ingo Molnar <[email protected] >
Cc: Jin Yao <[email protected] >
Cc: John Garry <[email protected] >
Cc: Mark Rutland <[email protected] >
Cc: Namhyung Kim <[email protected] >
Cc: Paul Clarke <[email protected] >
Cc: Peter Zijlstra <[email protected] >
Cc: Stephane Eranian <[email protected] >
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected] >
2021-11-13 10:32:26 -03:00
Ian Rogers
f832044c8e
perf test: Add helper functions for abstraction.
...
Abstract certain test features so that they can be refactored in later
changes. No functional change.
Signed-off-by: Ian Rogers <[email protected] >
Tested-by: Sohaib Mohamed <[email protected] >
Acked-by: Jiri Olsa <[email protected] >
Cc: Alexander Shishkin <[email protected] >
Cc: Brendan Higgins <[email protected] >
Cc: Daniel Latypov <[email protected] >
Cc: David Gow <[email protected] >
Cc: Ingo Molnar <[email protected] >
Cc: Jin Yao <[email protected] >
Cc: John Garry <[email protected] >
Cc: Mark Rutland <[email protected] >
Cc: Namhyung Kim <[email protected] >
Cc: Paul Clarke <[email protected] >
Cc: Peter Zijlstra <[email protected] >
Cc: Stephane Eranian <[email protected] >
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected] >
2021-11-13 10:32:26 -03:00
Ian Rogers
33f44bfd3c
perf test: Rename struct test to test_suite
...
This is to align with kunit's terminology.
Signed-off-by: Ian Rogers <[email protected] >
Tested-by: Sohaib Mohamed <[email protected] >
Acked-by: Jiri Olsa <[email protected] >
Cc: Alexander Shishkin <[email protected] >
Cc: Brendan Higgins <[email protected] >
Cc: Daniel Latypov <[email protected] >
Cc: David Gow <[email protected] >
Cc: Ingo Molnar <[email protected] >
Cc: Jin Yao <[email protected] >
Cc: John Garry <[email protected] >
Cc: Mark Rutland <[email protected] >
Cc: Namhyung Kim <[email protected] >
Cc: Paul Clarke <[email protected] >
Cc: Peter Zijlstra <[email protected] >
Cc: Stephane Eranian <[email protected] >
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected] >
2021-11-13 10:32:22 -03:00
Ian Rogers
d68f036508
perf test: Move each test suite struct to its test
...
Rather than export test functions, export the test struct. Rename with a
suite__ prefix to avoid name collisions.
Committer notes:
Its '&suite__vectors_page', not '&suite__vectors_pages', noticed when
cross building to arm (32-bit).
Signed-off-by: Ian Rogers <[email protected] >
Tested-by: Sohaib Mohamed <[email protected] >
Acked-by: Jiri Olsa <[email protected] >
Cc: Alexander Shishkin <[email protected] >
Cc: Brendan Higgins <[email protected] >
Cc: Daniel Latypov <[email protected] >
Cc: David Gow <[email protected] >
Cc: Ingo Molnar <[email protected] >
Cc: Jin Yao <[email protected] >
Cc: John Garry <[email protected] >
Cc: Mark Rutland <[email protected] >
Cc: Namhyung Kim <[email protected] >
Cc: Paul Clarke <[email protected] >
Cc: Peter Zijlstra <[email protected] >
Cc: Stephane Eranian <[email protected] >
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected] >
2021-11-13 10:30:58 -03:00
Ian Rogers
df2252054e
perf test: Make each test/suite its own struct.
...
By switching to an array of pointers to tests (later to be suites)
the definition of the tests can be moved to the file containing the
tests.
Committer notes:
It's "&vectors_page", not "&vectors_pages", noticed when cross building
to 32-bit ARM.
Also the DEFINE_SUITE(vectors_page) should be done where its function is
implemented, in tools/perf/arch/arm/tests/vectors-page.c, so that we can
make it static, as we don't have anymore its declaration in tests.h.
Signed-off-by: Ian Rogers <[email protected] >
Tested-by: Sohaib Mohamed <[email protected] >
Acked-by: Jiri Olsa <[email protected] >
Cc: Alexander Shishkin <[email protected] >
Cc: Brendan Higgins <[email protected] >
Cc: Daniel Latypov <[email protected] >
Cc: David Gow <[email protected] >
Cc: Ingo Molnar <[email protected] >
Cc: Jin Yao <[email protected] >
Cc: John Garry <[email protected] >
Cc: Mark Rutland <[email protected] >
Cc: Namhyung Kim <[email protected] >
Cc: Paul Clarke <[email protected] >
Cc: Peter Zijlstra <[email protected] >
Cc: Stephane Eranian <[email protected] >
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected] >
2021-11-13 10:30:04 -03:00
Ian Rogers
54df5c8e01
perf test: Use macro for "suite" definitions
...
Add a macro to simplify later refactoring. No functional change.
Signed-off-by: Ian Rogers <[email protected] >
Tested-by: Sohaib Mohamed <[email protected] >
Acked-by: Jiri Olsa <[email protected] >
Cc: Alexander Shishkin <[email protected] >
Cc: Brendan Higgins <[email protected] >
Cc: Daniel Latypov <[email protected] >
Cc: David Gow <[email protected] >
Cc: Ingo Molnar <[email protected] >
Cc: Jin Yao <[email protected] >
Cc: John Garry <[email protected] >
Cc: Mark Rutland <[email protected] >
Cc: Namhyung Kim <[email protected] >
Cc: Paul Clarke <[email protected] >
Cc: Peter Zijlstra <[email protected] >
Cc: Stephane Eranian <[email protected] >
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected] >
2021-11-12 10:40:34 -03:00
Ian Rogers
fe90d37877
perf test: Use macro for "suite" declarations
...
Currently tests are setup in builtin-test with function pointers. Kunit
exposes tests as a kunit_suite with a null terminated array of test
cases. Use a macro to aid transition from one to the other in later
changes.
Signed-off-by: Ian Rogers <[email protected] >
Tested-by: Sohaib Mohamed <[email protected] >
Acked-by: Jiri Olsa <[email protected] >
Cc: Alexander Shishkin <[email protected] >
Cc: Brendan Higgins <[email protected] >
Cc: Daniel Latypov <[email protected] >
Cc: David Gow <[email protected] >
Cc: Ingo Molnar <[email protected] >
Cc: Jin Yao <[email protected] >
Cc: John Garry <[email protected] >
Cc: Mark Rutland <[email protected] >
Cc: Namhyung Kim <[email protected] >
Cc: Paul Clarke <[email protected] >
Cc: Peter Zijlstra <[email protected] >
Cc: Stephane Eranian <[email protected] >
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected] >
2021-11-12 10:40:34 -03:00
Ian Rogers
07eafd4e05
perf parse-event: Add init and exit to parse_event_error
...
parse_events() may succeed but leave string memory allocations reachable
in the error.
Add an init/exit that must be called to initialize and clean up the
error. This fixes a leak in metricgroup parse_ids.
Signed-off-by: Ian Rogers <[email protected] >
Cc: Alexander Shishkin <[email protected] >
Cc: Jiri Olsa <[email protected] >
Cc: John Garry <[email protected] >
Cc: Mark Rutland <[email protected] >
Cc: Namhyung Kim <[email protected] >
Cc: Peter Zijlstra <[email protected] >
Cc: Stephane Eranian <[email protected] >
Link: http://lore.kernel.org/lkml/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected] >
2021-11-07 15:39:25 -03:00
Ian Rogers
6c1912898e
perf parse-events: Rename parse_events_error functions
...
Group error functions and name after the data type they manipulate.
Signed-off-by: Ian Rogers <[email protected] >
Cc: Alexander Shishkin <[email protected] >
Cc: Jiri Olsa <[email protected] >
Cc: John Garry <[email protected] >
Cc: Mark Rutland <[email protected] >
Cc: Namhyung Kim <[email protected] >
Cc: Peter Zijlstra <[email protected] >
Cc: Stephane Eranian <[email protected] >
Link: http://lore.kernel.org/lkml/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected] >
2021-11-07 15:38:54 -03:00
Madhavan Srinivasan
10269a2ca2
perf test sample-parsing: Add endian test for struct branch_flags
...
Extend the sample-parsing test to include a branch_flag bitfield-endian
swap test.
This patch adds a include for "util/trace-event.h" in the sample-parsing
test for importing tep_is_bigendian() and extends samples_same() to
include "needs_swap" to detect/enable check for bitfield-endian swap.
Signed-off-by: Madhavan Srinivasan <[email protected] >
Acked-by: Jiri Olsa <[email protected] >
Cc: Athira Jajeev <[email protected] >
Cc: Kajol Jain <[email protected] >
Cc: Mark Rutland <[email protected] >
Cc: Michael Ellerman <[email protected] >
Cc: Namhyung Kim <[email protected] >
Cc: Stephane Eranian <[email protected] >
Link: http://lore.kernel.org/lkml/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected] >
2021-10-28 09:34:01 -03:00
James Clark
133fe2e617
perf tests: Improve temp file cleanup in test_arm_coresight.sh
...
Cleanup perf.data.old files which are also dropped by perf, handle
sigint and propagate it to the parent in case the test is run in a bash
while loop and don't create the temp files if the test will be skipped.
Reviewed-by: Leo Yan <[email protected] >
Signed-off-by: James Clark <[email protected] >
Acked-by: Ian Rogers <[email protected] >
Cc: Alexander Shishkin <[email protected] >
Cc: Jiri Olsa <[email protected] >
Cc: Mark Rutland <[email protected] >
Cc: Namhyung Kim <[email protected] >
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected] >
2021-10-26 11:17:46 -03:00
James Clark
39c534889e
perf tests: Fix trace+probe_vfs_getname.sh /tmp cleanup
...
The temp file is only cleaned up if the test is not skipped, so delay
making it until after the skip so it doesn't get left behind in /tmp.
Signed-off-by: James Clark <[email protected] >
Acked-by: Ian Rogers <[email protected] >
Cc: Alexander Shishkin <[email protected] >
Cc: Jiri Olsa <[email protected] >
Cc: Leo Yan <[email protected] >
Cc: Mark Rutland <[email protected] >
Cc: Namhyung Kim <[email protected] >
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected] >
2021-10-26 11:17:38 -03:00
James Clark
cf95f85e27
perf test: Fix record+script_probe_vfs_getname.sh /tmp cleanup
...
The temp files are only cleaned up if the test is not skipped, so delay
making them until after the skip so they don't get left behind in /tmp.
Signed-off-by: James Clark <[email protected] >
Acked-by: Ian Rogers <[email protected] >
Cc: Alexander Shishkin <[email protected] >
Cc: Jiri Olsa <[email protected] >
Cc: Leo Yan <[email protected] >
Cc: Mark Rutland <[email protected] >
Cc: Namhyung Kim <[email protected] >
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected] >
2021-10-26 11:14:49 -03:00
Ian Rogers
ec5c5b3d2c
perf metric: Encode and use metric-id as qualifier
...
For a metric like IPC a group of events like {instructions,cycles}:W
would be formed.
If the events names were changed in parsing then the metric expression
parser would fail to find them.
This change makes the event encoding be something like:
{instructions/metric-id=instructions/, cycles/metric-id=cycles/}
and then uses the evsel's stable metric-id value to locate the events.
This fixes the case that an event is restricted to user because of the
paranoia setting:
$ echo 2 > /proc/sys/kernel/perf_event_paranoid
$ perf stat -M IPC /bin/true
Performance counter stats for '/bin/true':
150,298 inst_retired.any:u # 0.77 IPC
187,095 cpu_clk_unhalted.thread:u
0.002042731 seconds time elapsed
0.000000000 seconds user
0.002377000 seconds sys
Adding the metric-id as a qualifier has a complication in that
qualifiers will become embedded in qualifiers.
For example, msr/tsc/ could become msr/tsc,metric-id=msr/tsc// which
will fail parse-events.
To solve this problem the metric is encoded and decoded for the
metric-id with !<num> standing in for an encoded value.
Previously ! wasn't parsed.
With this msr/tsc/ becomes msr/tsc,metric-id=msr!3tsc!3/
The metric expression parser is changed so that @ isn't changed to /,
instead this is done when the ID is encoded for parse events.
metricgroup__add_metric_non_group() and metricgroup__add_metric_weak_group()
need to inject the metric-id qualifier, so to avoid repetition they are
merged into a single metricgroup__build_event_string with error codes
more rigorously checked.
stat-shadow's prepare_metric() uses the metric-id to match the metricgroup
code.
As "metric-id=..." is added to all events, it is adding during testing
with the fake PMU.
This complicates pmu_str_check code as PE_PMU_EVENT_FAKE won't match as
part of a configuration.
The testing fake PMU case is fixed so that if a known qualifier with an
! is parsed then it isn't reported as a fake PMU.
This is sufficient to pass all testing but it and the original mechanism
are somewhat brittle.
Signed-off-by: Ian Rogers <[email protected] >
Acked-by: Andi Kleen <[email protected] >
Cc: Adrian Hunter <[email protected] >
Cc: Alexander Antonov <[email protected] >
Cc: Alexander Shishkin <[email protected] >
Cc: Andrew Kilroy <[email protected] >
Cc: Andrew Morton <[email protected] >
Cc: Changbin Du <[email protected] >
Cc: Denys Zagorui <[email protected] >
Cc: Fabian Hemmer <[email protected] >
Cc: Felix Fietkau <[email protected] >
Cc: Heiko Carstens <[email protected] >
Cc: Ingo Molnar <[email protected] >
Cc: Jacob Keller <[email protected] >
Cc: Jiapeng Chong <[email protected] >
Cc: Jin Yao <[email protected] >
Cc: Jiri Olsa <[email protected] >
Cc: Joakim Zhang <[email protected] >
Cc: John Garry <[email protected] >
Cc: Kajol Jain <[email protected] >
Cc: Kan Liang <[email protected] >
Cc: Kees Kook <[email protected] >
Cc: Mark Rutland <[email protected] >
Cc: Namhyung Kim <[email protected] >
Cc: Nicholas Fraser <[email protected] >
Cc: Nick Desaulniers <[email protected] >
Cc: Paul Clarke <[email protected] >
Cc: Peter Zijlstra <[email protected] >
Cc: Riccardo Mancini <[email protected] >
Cc: Sami Tolvanen <[email protected] >
Cc: ShihCheng Tu <[email protected] >
Cc: Song Liu <[email protected] >
Cc: Stephane Eranian <[email protected] >
Cc: Sumanth Korikkar <[email protected] >
Cc: Thomas Richter <[email protected] >
Cc: Wan Jiabing <[email protected] >
Cc: Zhen Lei <[email protected] >
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected] >
2021-10-20 10:57:05 -03:00
Ian Rogers
80be6434c3
perf metric: Modify resolution and recursion check
...
Modify resolution. Rather than resolving a list of metrics, resolve a
metric immediately after it is added.
This simplifies knowing the root of the metric's tree so that IDs may be
associated with it.
A bug in the current implementation is that all the IDs were placed on
the first metric in a metric group.
Rather than maintain data on IDs' parents to detect cycles, maintain
a list of visited metrics and detect cycles if the same metric is
visited twice.
Only place the root metric onto the list of metrics.
Signed-off-by: Ian Rogers <[email protected] >
Acked-by: Andi Kleen <[email protected] >
Cc: Adrian Hunter <[email protected] >
Cc: Alexander Antonov <[email protected] >
Cc: Alexander Shishkin <[email protected] >
Cc: Andrew Kilroy <[email protected] >
Cc: Andrew Morton <[email protected] >
Cc: Changbin Du <[email protected] >
Cc: Denys Zagorui <[email protected] >
Cc: Fabian Hemmer <[email protected] >
Cc: Felix Fietkau <[email protected] >
Cc: Heiko Carstens <[email protected] >
Cc: Ingo Molnar <[email protected] >
Cc: Jacob Keller <[email protected] >
Cc: Jiapeng Chong <[email protected] >
Cc: Jin Yao <[email protected] >
Cc: Jiri Olsa <[email protected] >
Cc: Joakim Zhang <[email protected] >
Cc: John Garry <[email protected] >
Cc: Kajol Jain <[email protected] >
Cc: Kan Liang <[email protected] >
Cc: Kees Kook <[email protected] >
Cc: Mark Rutland <[email protected] >
Cc: Namhyung Kim <[email protected] >
Cc: Nicholas Fraser <[email protected] >
Cc: Nick Desaulniers <[email protected] >
Cc: Paul Clarke <[email protected] >
Cc: Peter Zijlstra <[email protected] >
Cc: Riccardo Mancini <[email protected] >
Cc: Sami Tolvanen <[email protected] >
Cc: ShihCheng Tu <[email protected] >
Cc: Song Liu <[email protected] >
Cc: Stephane Eranian <[email protected] >
Cc: Sumanth Korikkar <[email protected] >
Cc: Thomas Richter <[email protected] >
Cc: Wan Jiabing <[email protected] >
Cc: Zhen Lei <[email protected] >
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected] >
2021-10-20 10:35:33 -03:00
Ian Rogers
fa831fbb43
perf metric: Move runtime value to the expr context
...
The runtime value is needed when recursively parsing metrics, currently
a value of 1 is passed which is incorrect.
Rather than add more arguments to the bison parser, add runtime to the
context.
Fix call sites not to pass a value. The runtime value is defaulted to 0,
which is arbitrary. In some places this replaces a value of 1, which was
also arbitrary.
This shouldn't affect anything other than PPC.
The use of 0 or 1 shouldn't matter as a proper runtime value would be
needed in a case that it did matter.
Signed-off-by: Ian Rogers <[email protected] >
Acked-by: Andi Kleen <[email protected] >
Cc: Adrian Hunter <[email protected] >
Cc: Alexander Antonov <[email protected] >
Cc: Alexander Shishkin <[email protected] >
Cc: Andrew Kilroy <[email protected] >
Cc: Andrew Morton <[email protected] >
Cc: Changbin Du <[email protected] >
Cc: Denys Zagorui <[email protected] >
Cc: Fabian Hemmer <[email protected] >
Cc: Felix Fietkau <[email protected] >
Cc: Heiko Carstens <[email protected] >
Cc: Ingo Molnar <[email protected] >
Cc: Jacob Keller <[email protected] >
Cc: Jiapeng Chong <[email protected] >
Cc: Jin Yao <[email protected] >
Cc: Jiri Olsa <[email protected] >
Cc: Joakim Zhang <[email protected] >
Cc: John Garry <[email protected] >
Cc: Kajol Jain <[email protected] >
Cc: Kan Liang <[email protected] >
Cc: Kees Kook <[email protected] >
Cc: Mark Rutland <[email protected] >
Cc: Namhyung Kim <[email protected] >
Cc: Nicholas Fraser <[email protected] >
Cc: Nick Desaulniers <[email protected] >
Cc: Paul Clarke <[email protected] >
Cc: Peter Zijlstra <[email protected] >
Cc: Riccardo Mancini <[email protected] >
Cc: Sami Tolvanen <[email protected] >
Cc: ShihCheng Tu <[email protected] >
Cc: Song Liu <[email protected] >
Cc: Stephane Eranian <[email protected] >
Cc: Sumanth Korikkar <[email protected] >
Cc: Thomas Richter <[email protected] >
Cc: Wan Jiabing <[email protected] >
Cc: Zhen Lei <[email protected] >
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected] >
2021-10-20 10:33:02 -03:00
Ian Rogers
47f572aad5
perf pmu: Make pmu_event tables const.
...
Make lookup nature of data structures clearer through their type. Reduce
scope of architecture specific pmu_event tables by making them static.
Suggested-by: John Garry <[email protected] >
Reviewed-by: John Garry <[email protected] >
Signed-off-by: Ian Rogers <[email protected] >
Acked-by: Andi Kleen <[email protected] >
Cc: Adrian Hunter <[email protected] >
Cc: Alexander Antonov <[email protected] >
Cc: Alexander Shishkin <[email protected] >
Cc: Andrew Kilroy <[email protected] >
Cc: Andrew Morton <[email protected] >
Cc: Changbin Du <[email protected] >
Cc: Denys Zagorui <[email protected] >
Cc: Fabian Hemmer <[email protected] >
Cc: Felix Fietkau <[email protected] >
Cc: Heiko Carstens <[email protected] >
Cc: Ingo Molnar <[email protected] >
Cc: Jacob Keller <[email protected] >
Cc: Jiapeng Chong <[email protected] >
Cc: Jin Yao <[email protected] >
Cc: Jiri Olsa <[email protected] >
Cc: Joakim Zhang <[email protected] >
Cc: Kajol Jain <[email protected] >
Cc: Kan Liang <[email protected] >
Cc: Kees Kook <[email protected] >
Cc: Mark Rutland <[email protected] >
Cc: Namhyung Kim <[email protected] >
Cc: Nicholas Fraser <[email protected] >
Cc: Nick Desaulniers <[email protected] >
Cc: Paul Clarke <[email protected] >
Cc: Peter Zijlstra <[email protected] >
Cc: Riccardo Mancini <[email protected] >
Cc: Sami Tolvanen <[email protected] >
Cc: ShihCheng Tu <[email protected] >
Cc: Song Liu <[email protected] >
Cc: Stephane Eranian <[email protected] >
Cc: Sumanth Korikkar <[email protected] >
Cc: Thomas Richter <[email protected] >
Cc: Wan Jiabing <[email protected] >
Cc: Zhen Lei <[email protected] >
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected] >
2021-10-20 10:32:33 -03:00
Ian Rogers
857974a642
perf pmu: Make pmu_sys_event_tables const.
...
Make lookup nature of data structures clearer through their type.
Reviewed-by: John Garry <[email protected] >
Signed-off-by: Ian Rogers <[email protected] >
Acked-by: Andi Kleen <[email protected] >
Cc: Adrian Hunter <[email protected] >
Cc: Alexander Antonov <[email protected] >
Cc: Alexander Shishkin <[email protected] >
Cc: Andrew Kilroy <[email protected] >
Cc: Andrew Morton <[email protected] >
Cc: Changbin Du <[email protected] >
Cc: Denys Zagorui <[email protected] >
Cc: Fabian Hemmer <[email protected] >
Cc: Felix Fietkau <[email protected] >
Cc: Heiko Carstens <[email protected] >
Cc: Ingo Molnar <[email protected] >
Cc: Jacob Keller <[email protected] >
Cc: Jiapeng Chong <[email protected] >
Cc: Jin Yao <[email protected] >
Cc: Jiri Olsa <[email protected] >
Cc: Joakim Zhang <[email protected] >
Cc: Kajol Jain <[email protected] >
Cc: Kan Liang <[email protected] >
Cc: Kees Kook <[email protected] >
Cc: Mark Rutland <[email protected] >
Cc: Namhyung Kim <[email protected] >
Cc: Nicholas Fraser <[email protected] >
Cc: Nick Desaulniers <[email protected] >
Cc: Paul Clarke <[email protected] >
Cc: Peter Zijlstra <[email protected] >
Cc: Riccardo Mancini <[email protected] >
Cc: Sami Tolvanen <[email protected] >
Cc: ShihCheng Tu <[email protected] >
Cc: Song Liu <[email protected] >
Cc: Stephane Eranian <[email protected] >
Cc: Sumanth Korikkar <[email protected] >
Cc: Thomas Richter <[email protected] >
Cc: Wan Jiabing <[email protected] >
Cc: Zhen Lei <[email protected] >
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected] >
2021-10-20 10:32:16 -03:00
Ian Rogers
0ec43c0837
perf pmu: Add const to pmu_events_map.
...
The pmu_events_map is generated at compile time and used for lookup. For
testing purposes we need to swap the map being used.
Having the pmu_events_map be non-const is misleading as it may be an out
argument.
Make it const and update uses so they work on const too.
Reviewed-by: John Garry <[email protected] >
Signed-off-by: Ian Rogers <[email protected] >
Acked-by: Andi Kleen <[email protected] >
Cc: Adrian Hunter <[email protected] >
Cc: Alexander Antonov <[email protected] >
Cc: Alexander Shishkin <[email protected] >
Cc: Andrew Kilroy <[email protected] >
Cc: Andrew Morton <[email protected] >
Cc: Changbin Du <[email protected] >
Cc: Denys Zagorui <[email protected] >
Cc: Fabian Hemmer <[email protected] >
Cc: Felix Fietkau <[email protected] >
Cc: Heiko Carstens <[email protected] >
Cc: Ingo Molnar <[email protected] >
Cc: Jacob Keller <[email protected] >
Cc: Jiapeng Chong <[email protected] >
Cc: Jin Yao <[email protected] >
Cc: Jiri Olsa <[email protected] >
Cc: Joakim Zhang <[email protected] >
Cc: Kajol Jain <[email protected] >
Cc: Kan Liang <[email protected] >
Cc: Kees Kook <[email protected] >
Cc: Mark Rutland <[email protected] >
Cc: Namhyung Kim <[email protected] >
Cc: Nicholas Fraser <[email protected] >
Cc: Nick Desaulniers <[email protected] >
Cc: Paul Clarke <[email protected] >
Cc: Peter Zijlstra <[email protected] >
Cc: Riccardo Mancini <[email protected] >
Cc: Sami Tolvanen <[email protected] >
Cc: ShihCheng Tu <[email protected] >
Cc: Song Liu <[email protected] >
Cc: Stephane Eranian <[email protected] >
Cc: Sumanth Korikkar <[email protected] >
Cc: Thomas Richter <[email protected] >
Cc: Wan Jiabing <[email protected] >
Cc: Zhen Lei <[email protected] >
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected] >
2021-10-20 10:31:47 -03:00
Arnaldo Carvalho de Melo
47e7dd34a2
Merge remote-tracking branch 'torvalds/master' into perf/core
...
To pick up the fixes in perf/urgent that were just merged into upstream.
Signed-off-by: Arnaldo Carvalho de Melo <[email protected] >
2021-10-08 11:13:17 -03:00
Kan Liang
0b6c5371c0
perf tests attr: Add missing topdown metrics events
...
The Topdown metrics events were added as 'perf stat' default events
since commit 42641d6f4d ("perf stat: Add Topdown metrics events as
default events").
However, the perf attr tests were not updated
accordingly.
The perf attr test fails on the platform which supports Topdown metrics.
# perf test 17
17: Setup struct perf_event_attr :FAILED!
Add Topdown metrics events into perf attr test cases. Make them optional
since they are only available on newer platforms.
Fixes: 42641d6f4d ("perf stat: Add Topdown metrics events as default events")
Reported-by: kernel test robot <[email protected] >
Signed-off-by: Kan Liang <[email protected] >
Cc: Andi Kleen <[email protected] >
Cc: Jiri Olsa <[email protected] >
Link: http://lore.kernel.org/lkml/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected] >
2021-10-05 14:55:38 -03:00
Michael Petlan
2b775152bb
perf tests vmlinux-kallsyms: Ignore hidden symbols
...
Certain kernel symbols are purposely hidden from kallsyms. The function
is_ignored_symbol() from scripts/kallsyms.c decides if a symbol should
be hidden or not.
The perf test "vmlinux symtab matches kallsyms" fails in case perf finds
some of the hidden symbols in its machine image and can't match them to
kallsyms.
Let's add a filter to check if a symbol not found isn't one of these
before failing the test.
The function is_ignored_symbol() has been copied from scripts/kallsyms.c
and needs to be updated along with the original.
Signed-off-by: Michael Petlan <[email protected] >
Acked-by: Ian Rogers <[email protected] >
Cc: Jiri Olsa <[email protected] >
LPU-Reference: [email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected] >
2021-09-29 14:13:42 -03:00