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

Message ID 20230608232400.3056312-1-namhyung@kernel.org
Headers
Series perf list: Improve libpfm4 event support |

Message

Namhyung Kim June 8, 2023, 11:23 p.m. UTC
  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