[PATCH 0/3] perf list: Improve libpfm4 event support

Namhyung Kim
2023-06-08T23:24:10Z

Hello,

Ian and I found that some of libpfm4 events don't work well and it makes
confusing that perf list shows those unsupported events too. Let's check
if the event is supported like other events and skip if it's not.

Also add a new test for it. On my laptop, it runs ok like below:

$ ./perf test -v 102
102: perf all libpfm4 events test :
--- start ---
test child forked, pid 3039688
Testing ix86arch::UNHALTED_CORE_CYCLES
Testing ix86arch::INSTRUCTION_RETIRED
Testing ix86arch::UNHALTED_REFERENCE_CYCLES
Testing ix86arch::LLC_REFERENCES
Testing ix86arch::LLC_MISSES
Testing ix86arch::BRANCH_INSTRUCTIONS_RETIRED
Testing ix86arch::MISPREDICTED_BRANCH_RETIRED
Testing perf_raw::r0000
Testing icl::UNHALTED_CORE_CYCLES
Testing icl::UNHALTED_REFERENCE_CYCLES
Testing icl::INSTRUCTION_RETIRED
Testing INSTRUCTION_RETIRED
Testing icl::SQ_MISC
Testing icl::SQ_MISC:SQ_FULL
...
Testing icl::OCR:DEMAND_DATA_RD_L3_HIT_ANY
Testing icl::OCR:DEMAND_DATA_RD_L3_HIT_SNOOP_HITM
Testing icl::OCR:DEMAND_DATA_RD_L3_HIT_SNOOP_HIT_NO_FWD
Testing icl::OCR:DEMAND_DATA_RD_L3_HIT_SNOOP_MISS
Testing icl::OCR:DEMAND_DATA_RD_L3_HIT_SNOOP_NOT_NEEDED
test child finished with 0
---- end ----
perf all libpfm4 events test: Ok

Thanks,
Namhyung

Ian Rogers (2):
perf list: Check arguments to show libpfm4 events
perf test: Add test of libpfm4 events

Namhyung Kim (1):
perf list: Check if libpfm4 event is supported

tools/perf/builtin-list.c | 12 +++++-
tools/perf/tests/shell/stat_all_pfm.sh | 51 ++++++++++++++++++++++
tools/perf/util/pfm.c | 58 ++++++++++++++++++++++----
3 files changed, 112 insertions(+), 9 deletions(-)
create mode 100755 tools/perf/tests/shell/stat_all_pfm.sh

base-commit: 634c694de4cb2d050dc312ea43e0371d84c585a5