Messages in this thread Patch in this message | | | From | Thomas Richter <> | Subject | [PATCH] perf test: Test perf_event_attr fails on s390 when built with make LIBPFM4=1 | Date | Wed, 5 May 2021 08:48:18 +0200 |
| |
Using make LIBPFM4=1 builds the perf tool with support for libpfm event notation. The command line flag --pfm-events is valid: # ./perf record --pfm-events cycles -- true [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.001 MB perf.data (2 samples) ] #
However the command 'perf test -Fv 17' fails on s390 with LIBPFM4=1: # perf test -Fv 17 17: Setup struct perf_event_attr : --- start --- ..... running './tests/attr/test-record-group2' unsupp './tests/attr/test-record-group2' running './tests/attr/test-record-pfm-period' expected exclude_hv=0, got 1 FAILED './tests/attr/test-record-pfm-period' - match failure ---- end ---- Setup struct perf_event_attr: FAILED!
When --pfm-event system is not supported, the test returns unsupported and continues. Here is an example using a virtual machine on x86 and Fedora 34: [root@f33 perf]# perf test -Fv 17 17: Setup struct perf_event_attr : --- start --- ..... running './tests/attr/test-record-group2' unsupp './tests/attr/test-record-group2' running './tests/attr/test-record-pfm-period' unsupp './tests/attr/test-record-pfm-period' ....
The issue is file ./tests/attr/test-record-pfm-period which requires perf event attribute member exclude_hv to be zero. This is not the case on s390 where the value of exclude_hv is one.
Fix this by allowing value exlucde_hv to be zero or one.
Output before: # /usr/bin/python ./tests/attr.py -d ./tests/attr/ -t \ test-record-pfm-period -p ./perf -vvv 2>&1| fgrep match matching [event:base-record] match: [event:base-record] matches [] FAILED './tests/attr//test-record-pfm-period' - match failure #
Output after: # /usr/bin/python ./tests/attr.py -d ./tests/attr/ -t \ test-record-pfm-period -p ./perf -vvv 2>&1| fgrep match matching [event:base-record] match: [event:base-record] matches ['event-1-0-6', 'event-1-0-5'] matched matching [event-1-0-6] match: [event-1-0-6] matches ['event:base-record'] matching [event-1-0-5] match: [event-1-0-5] matches ['event:base-record'] matched #
Signed-off-by: Thomas Richter <tmricht@linux.ibm.com> --- tools/perf/tests/attr/test-record-pfm-period | 1 + 1 file changed, 1 insertion(+)
diff --git a/tools/perf/tests/attr/test-record-pfm-period b/tools/perf/tests/attr/test-record-pfm-period index 368f5b814094..b962d6d11ee2 100644 --- a/tools/perf/tests/attr/test-record-pfm-period +++ b/tools/perf/tests/attr/test-record-pfm-period @@ -7,3 +7,4 @@ ret = 1 sample_period=77777 sample_type=7 freq=0 +exclude_hv=0|1 -- 2.30.2
| |