[PATCH v2 00/12] Add metric has_event, update intel vendor events

Ian Rogers posted 12 patches 2 years, 7 months ago
.../arch/x86/alderlake/adl-metrics.json       |    8 +-
.../arch/x86/cascadelakex/clx-metrics.json    |    8 +-
.../arch/x86/cascadelakex/frontend.json       |   43 +-
.../arch/x86/cascadelakex/pipeline.json       |   17 +-
.../x86/cascadelakex/uncore-interconnect.json |    2 +-
.../arch/x86/cascadelakex/uncore-memory.json  |    2 +-
.../pmu-events/arch/x86/icelake/cache.json    |    8 +-
.../pmu-events/arch/x86/icelake/frontend.json |   32 +-
.../arch/x86/icelake/icl-metrics.json         |    8 +-
.../pmu-events/arch/x86/icelake/pipeline.json |    6 +-
.../arch/x86/icelakex/frontend.json           |   32 +-
.../arch/x86/icelakex/icx-metrics.json        |    8 +-
.../arch/x86/icelakex/pipeline.json           |    4 +-
.../x86/icelakex/uncore-interconnect.json     |    2 +-
tools/perf/pmu-events/arch/x86/mapfile.csv    |   17 +-
.../pmu-events/arch/x86/meteorlake/cache.json |  811 +++++++++
.../arch/x86/meteorlake/floating-point.json   |  143 ++
.../arch/x86/meteorlake/frontend.json         |  410 +++++
.../arch/x86/meteorlake/memory.json           |  142 +-
.../pmu-events/arch/x86/meteorlake/other.json |   57 +-
.../arch/x86/meteorlake/pipeline.json         | 1211 ++++++++++++-
.../arch/x86/meteorlake/uncore-cache.json     |   18 +
.../x86/meteorlake/uncore-interconnect.json   |   42 +
.../arch/x86/meteorlake/uncore-memory.json    |  126 ++
.../arch/x86/meteorlake/virtual-memory.json   |  257 +++
.../pmu-events/arch/x86/rocketlake/cache.json |  894 ++++++++++
.../arch/x86/rocketlake/floating-point.json   |  105 ++
.../arch/x86/rocketlake/frontend.json         |  377 ++++
.../arch/x86/rocketlake/memory.json           |  394 +++++
.../arch/x86/rocketlake/metricgroups.json     |  113 ++
.../pmu-events/arch/x86/rocketlake/other.json |  242 +++
.../arch/x86/rocketlake/pipeline.json         |  801 +++++++++
.../arch/x86/rocketlake/rkl-metrics.json      | 1571 +++++++++++++++++
.../x86/rocketlake/uncore-interconnect.json   |   74 +
.../arch/x86/rocketlake/uncore-other.json     |    9 +
.../arch/x86/rocketlake/virtual-memory.json   |  165 ++
.../arch/x86/sapphirerapids/pipeline.json     |    2 +-
.../arch/x86/sapphirerapids/spr-metrics.json  |    8 +-
.../arch/x86/sapphirerapids/uncore-cache.json |  308 ++++
.../sapphirerapids/uncore-interconnect.json   |    2 +-
.../pmu-events/arch/x86/skylake/frontend.json |   43 +-
.../pmu-events/arch/x86/skylake/pipeline.json |   17 +-
.../arch/x86/skylake/skl-metrics.json         |    8 +-
.../arch/x86/skylakex/frontend.json           |   43 +-
.../arch/x86/skylakex/pipeline.json           |   17 +-
.../arch/x86/skylakex/skx-metrics.json        |    8 +-
.../x86/skylakex/uncore-interconnect.json     |    2 +-
.../arch/x86/skylakex/uncore-memory.json      |    2 +-
.../arch/x86/tigerlake/frontend.json          |   32 +-
.../arch/x86/tigerlake/pipeline.json          |    6 +-
.../arch/x86/tigerlake/tgl-metrics.json       |    8 +-
tools/perf/pmu-events/metric.py               |    8 +-
tools/perf/tests/expr.c                       |    4 +
tools/perf/util/expr.c                        |   21 +
tools/perf/util/expr.h                        |    1 +
tools/perf/util/expr.l                        |    1 +
tools/perf/util/expr.y                        |    8 +-
57 files changed, 8506 insertions(+), 202 deletions(-)
create mode 100644 tools/perf/pmu-events/arch/x86/meteorlake/floating-point.json
create mode 100644 tools/perf/pmu-events/arch/x86/meteorlake/uncore-cache.json
create mode 100644 tools/perf/pmu-events/arch/x86/meteorlake/uncore-interconnect.json
create mode 100644 tools/perf/pmu-events/arch/x86/meteorlake/uncore-memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/rocketlake/cache.json
create mode 100644 tools/perf/pmu-events/arch/x86/rocketlake/floating-point.json
create mode 100644 tools/perf/pmu-events/arch/x86/rocketlake/frontend.json
create mode 100644 tools/perf/pmu-events/arch/x86/rocketlake/memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/rocketlake/metricgroups.json
create mode 100644 tools/perf/pmu-events/arch/x86/rocketlake/other.json
create mode 100644 tools/perf/pmu-events/arch/x86/rocketlake/pipeline.json
create mode 100644 tools/perf/pmu-events/arch/x86/rocketlake/rkl-metrics.json
create mode 100644 tools/perf/pmu-events/arch/x86/rocketlake/uncore-interconnect.json
create mode 100644 tools/perf/pmu-events/arch/x86/rocketlake/uncore-other.json
create mode 100644 tools/perf/pmu-events/arch/x86/rocketlake/virtual-memory.json
[PATCH v2 00/12] Add metric has_event, update intel vendor events
Posted by Ian Rogers 2 years, 7 months ago
Add a new has_event function for metrics so that events that can be
disabled by the kernel/firmware don't cause metrics to fail. Use this
function for Intel transaction metrics fixing "perf all metrics test"
on systems with TSX disabled. The update conversion script is posted in:
https://github.com/intel/perfmon/pull/90

Re-generate Intel vendor events using:
https://github.com/intel/perfmon/blob/main/scripts/create_perf_json.py
Adding rocketlake support, uncore and many core events for meteorlake,
and smaller updates for cascakelakex, icelake, icelakex,
sapphirerapids, skylake, skylakex and tigerlake.

v2. Handle failed memory allocated for evlist, John Garry.

Ian Rogers (12):
  perf expr: Add has_event function
  perf jevents: Support for has_event function
  perf vendor metrics intel: Make transaction metrics conditional
  perf vendor events intel: Add rocketlake events/metrics
  perf vendor events intel: Update meteorlake to 1.03
  perf vendor events intel: Update cascadelakex to 1.19
  perf vendor events intel: Update icelake to 1.19
  perf vendor events intel: Update icelakex to 1.21
  perf vendor events intel: Update sapphirerapids to 1.14
  perf vendor events intel: Update skylake to 57
  perf vendor events intel: Update skylakex to 1.31
  perf vendor events intel: Update tigerlake to 1.13

 .../arch/x86/alderlake/adl-metrics.json       |    8 +-
 .../arch/x86/cascadelakex/clx-metrics.json    |    8 +-
 .../arch/x86/cascadelakex/frontend.json       |   43 +-
 .../arch/x86/cascadelakex/pipeline.json       |   17 +-
 .../x86/cascadelakex/uncore-interconnect.json |    2 +-
 .../arch/x86/cascadelakex/uncore-memory.json  |    2 +-
 .../pmu-events/arch/x86/icelake/cache.json    |    8 +-
 .../pmu-events/arch/x86/icelake/frontend.json |   32 +-
 .../arch/x86/icelake/icl-metrics.json         |    8 +-
 .../pmu-events/arch/x86/icelake/pipeline.json |    6 +-
 .../arch/x86/icelakex/frontend.json           |   32 +-
 .../arch/x86/icelakex/icx-metrics.json        |    8 +-
 .../arch/x86/icelakex/pipeline.json           |    4 +-
 .../x86/icelakex/uncore-interconnect.json     |    2 +-
 tools/perf/pmu-events/arch/x86/mapfile.csv    |   17 +-
 .../pmu-events/arch/x86/meteorlake/cache.json |  811 +++++++++
 .../arch/x86/meteorlake/floating-point.json   |  143 ++
 .../arch/x86/meteorlake/frontend.json         |  410 +++++
 .../arch/x86/meteorlake/memory.json           |  142 +-
 .../pmu-events/arch/x86/meteorlake/other.json |   57 +-
 .../arch/x86/meteorlake/pipeline.json         | 1211 ++++++++++++-
 .../arch/x86/meteorlake/uncore-cache.json     |   18 +
 .../x86/meteorlake/uncore-interconnect.json   |   42 +
 .../arch/x86/meteorlake/uncore-memory.json    |  126 ++
 .../arch/x86/meteorlake/virtual-memory.json   |  257 +++
 .../pmu-events/arch/x86/rocketlake/cache.json |  894 ++++++++++
 .../arch/x86/rocketlake/floating-point.json   |  105 ++
 .../arch/x86/rocketlake/frontend.json         |  377 ++++
 .../arch/x86/rocketlake/memory.json           |  394 +++++
 .../arch/x86/rocketlake/metricgroups.json     |  113 ++
 .../pmu-events/arch/x86/rocketlake/other.json |  242 +++
 .../arch/x86/rocketlake/pipeline.json         |  801 +++++++++
 .../arch/x86/rocketlake/rkl-metrics.json      | 1571 +++++++++++++++++
 .../x86/rocketlake/uncore-interconnect.json   |   74 +
 .../arch/x86/rocketlake/uncore-other.json     |    9 +
 .../arch/x86/rocketlake/virtual-memory.json   |  165 ++
 .../arch/x86/sapphirerapids/pipeline.json     |    2 +-
 .../arch/x86/sapphirerapids/spr-metrics.json  |    8 +-
 .../arch/x86/sapphirerapids/uncore-cache.json |  308 ++++
 .../sapphirerapids/uncore-interconnect.json   |    2 +-
 .../pmu-events/arch/x86/skylake/frontend.json |   43 +-
 .../pmu-events/arch/x86/skylake/pipeline.json |   17 +-
 .../arch/x86/skylake/skl-metrics.json         |    8 +-
 .../arch/x86/skylakex/frontend.json           |   43 +-
 .../arch/x86/skylakex/pipeline.json           |   17 +-
 .../arch/x86/skylakex/skx-metrics.json        |    8 +-
 .../x86/skylakex/uncore-interconnect.json     |    2 +-
 .../arch/x86/skylakex/uncore-memory.json      |    2 +-
 .../arch/x86/tigerlake/frontend.json          |   32 +-
 .../arch/x86/tigerlake/pipeline.json          |    6 +-
 .../arch/x86/tigerlake/tgl-metrics.json       |    8 +-
 tools/perf/pmu-events/metric.py               |    8 +-
 tools/perf/tests/expr.c                       |    4 +
 tools/perf/util/expr.c                        |   21 +
 tools/perf/util/expr.h                        |    1 +
 tools/perf/util/expr.l                        |    1 +
 tools/perf/util/expr.y                        |    8 +-
 57 files changed, 8506 insertions(+), 202 deletions(-)
 create mode 100644 tools/perf/pmu-events/arch/x86/meteorlake/floating-point.json
 create mode 100644 tools/perf/pmu-events/arch/x86/meteorlake/uncore-cache.json
 create mode 100644 tools/perf/pmu-events/arch/x86/meteorlake/uncore-interconnect.json
 create mode 100644 tools/perf/pmu-events/arch/x86/meteorlake/uncore-memory.json
 create mode 100644 tools/perf/pmu-events/arch/x86/rocketlake/cache.json
 create mode 100644 tools/perf/pmu-events/arch/x86/rocketlake/floating-point.json
 create mode 100644 tools/perf/pmu-events/arch/x86/rocketlake/frontend.json
 create mode 100644 tools/perf/pmu-events/arch/x86/rocketlake/memory.json
 create mode 100644 tools/perf/pmu-events/arch/x86/rocketlake/metricgroups.json
 create mode 100644 tools/perf/pmu-events/arch/x86/rocketlake/other.json
 create mode 100644 tools/perf/pmu-events/arch/x86/rocketlake/pipeline.json
 create mode 100644 tools/perf/pmu-events/arch/x86/rocketlake/rkl-metrics.json
 create mode 100644 tools/perf/pmu-events/arch/x86/rocketlake/uncore-interconnect.json
 create mode 100644 tools/perf/pmu-events/arch/x86/rocketlake/uncore-other.json
 create mode 100644 tools/perf/pmu-events/arch/x86/rocketlake/virtual-memory.json

-- 
2.41.0.162.gfafddb0af9-goog
Re: [PATCH v2 00/12] Add metric has_event, update intel vendor events
Posted by Namhyung Kim 2 years, 7 months ago
Hi Ian,

On Fri, Jun 23, 2023 at 8:10 AM Ian Rogers <irogers@google.com> wrote:
>
> Add a new has_event function for metrics so that events that can be
> disabled by the kernel/firmware don't cause metrics to fail. Use this
> function for Intel transaction metrics fixing "perf all metrics test"
> on systems with TSX disabled. The update conversion script is posted in:
> https://github.com/intel/perfmon/pull/90
>
> Re-generate Intel vendor events using:
> https://github.com/intel/perfmon/blob/main/scripts/create_perf_json.py
> Adding rocketlake support, uncore and many core events for meteorlake,
> and smaller updates for cascakelakex, icelake, icelakex,
> sapphirerapids, skylake, skylakex and tigerlake.
>
> v2. Handle failed memory allocated for evlist, John Garry.
>
> Ian Rogers (12):
>   perf expr: Add has_event function
>   perf jevents: Support for has_event function
>   perf vendor metrics intel: Make transaction metrics conditional
>   perf vendor events intel: Add rocketlake events/metrics
>   perf vendor events intel: Update meteorlake to 1.03
>   perf vendor events intel: Update cascadelakex to 1.19
>   perf vendor events intel: Update icelake to 1.19
>   perf vendor events intel: Update icelakex to 1.21
>   perf vendor events intel: Update sapphirerapids to 1.14
>   perf vendor events intel: Update skylake to 57
>   perf vendor events intel: Update skylakex to 1.31
>   perf vendor events intel: Update tigerlake to 1.13

My tigerlake laptop now passes the all metrics test with this.
It used to fail like below:

  event syntax error:
'{cpu/cycles-t,metric-id=cpu!3cycles!1t!3/,cpu/tx-start,m..'
                            \___ unknown term 'cycles-t' for pmu 'cpu'

Tested-by: Namhyung Kim <namhyung@kernel.org>

Thanks,
Namhyung
Re: [PATCH v2 00/12] Add metric has_event, update intel vendor events
Posted by Namhyung Kim 2 years, 7 months ago
On Thu, Jun 29, 2023 at 2:31 PM Namhyung Kim <namhyung@kernel.org> wrote:
>
> Hi Ian,
>
> On Fri, Jun 23, 2023 at 8:10 AM Ian Rogers <irogers@google.com> wrote:
> >
> > Add a new has_event function for metrics so that events that can be
> > disabled by the kernel/firmware don't cause metrics to fail. Use this
> > function for Intel transaction metrics fixing "perf all metrics test"
> > on systems with TSX disabled. The update conversion script is posted in:
> > https://github.com/intel/perfmon/pull/90
> >
> > Re-generate Intel vendor events using:
> > https://github.com/intel/perfmon/blob/main/scripts/create_perf_json.py
> > Adding rocketlake support, uncore and many core events for meteorlake,
> > and smaller updates for cascakelakex, icelake, icelakex,
> > sapphirerapids, skylake, skylakex and tigerlake.
> >
> > v2. Handle failed memory allocated for evlist, John Garry.
> >
> > Ian Rogers (12):
> >   perf expr: Add has_event function
> >   perf jevents: Support for has_event function
> >   perf vendor metrics intel: Make transaction metrics conditional
> >   perf vendor events intel: Add rocketlake events/metrics
> >   perf vendor events intel: Update meteorlake to 1.03
> >   perf vendor events intel: Update cascadelakex to 1.19
> >   perf vendor events intel: Update icelake to 1.19
> >   perf vendor events intel: Update icelakex to 1.21
> >   perf vendor events intel: Update sapphirerapids to 1.14
> >   perf vendor events intel: Update skylake to 57
> >   perf vendor events intel: Update skylakex to 1.31
> >   perf vendor events intel: Update tigerlake to 1.13
>
> My tigerlake laptop now passes the all metrics test with this.
> It used to fail like below:
>
>   event syntax error:
> '{cpu/cycles-t,metric-id=cpu!3cycles!1t!3/,cpu/tx-start,m..'
>                             \___ unknown term 'cycles-t' for pmu 'cpu'
>
> Tested-by: Namhyung Kim <namhyung@kernel.org>

Applied to perf-tools-next, thanks!