lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20240214011820.644458-1-irogers@google.com>
Date: Tue, 13 Feb 2024 17:17:49 -0800
From: Ian Rogers <irogers@...gle.com>
To: Peter Zijlstra <peterz@...radead.org>, Ingo Molnar <mingo@...hat.com>, 
	Arnaldo Carvalho de Melo <acme@...nel.org>, Namhyung Kim <namhyung@...nel.org>, 
	Mark Rutland <mark.rutland@....com>, 
	Alexander Shishkin <alexander.shishkin@...ux.intel.com>, Jiri Olsa <jolsa@...nel.org>, 
	Ian Rogers <irogers@...gle.com>, Adrian Hunter <adrian.hunter@...el.com>, 
	Kan Liang <kan.liang@...ux.intel.com>, linux-kernel@...r.kernel.org, 
	linux-perf-users@...r.kernel.org, Perry Taylor <perry.taylor@...el.com>, 
	Samantha Alt <samantha.alt@...el.com>, Caleb Biggers <caleb.biggers@...el.com>, 
	Weilin Wang <weilin.wang@...el.com>, Edward Baker <edward.baker@...el.com>
Cc: Stephane Eranian <eranian@...gle.com>
Subject: [PATCH v1 00/30] perf vendor event and TMA 4.7 metric update

The first 12 patches update vendor events to those in:
https://github.com/intel/perfmon

The next 18 patches update the TMA metrics from version 4.5 to version
4.7. This includes improvements to many models like the
tma_info_bottleneck* metrics, an abstraction or summarization of the
100+ TMA tree nodes into 12-entry familiar performance metrics.

The update was possible due to the release of TMA 4.7 metrics in:
  https://github.com/intel/perfmon/pull/140
  https://github.com/intel/perfmon/pull/138

Pull request:
https://github.com/intel/perfmon/pull/144
was applied to the converter script. This PR adds back CORE_CLKS as in
TMA metrics 4.5 for pre-Icelake models. This avoids an issue running
perf stat not in system wide mode where pre-Icelake models need to
scale the slots dependent on what the other hyperthread is doing (via
the event CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE - later models have a
slots counter for this). This is a known not accurate thing to do,
hence the removal from TMA 4.7, but perf would allow the use of the
metric not in system wide mode and report a metric with value. It
seemed better to give a more accurate number in not system wide mode,
possibly induce multiplexing, and have the TMA 4.5 behavior. We can
later update the behavior to be NaN [1] when not in system wide mode
to avoid broken usage. The not system wide mode in the TMA 4.5
spreadsheet is known as "#EBS_Mode" and is detected in perf json with
the "#core_wide" literal.

[1] https://lore.kernel.org/lkml/20240209204947.3873294-2-irogers@google.com/

Ian Rogers (30):
  perf vendor events intel: Update alderlake events to v1.24
  perf vendor events intel: Update alderlaken events to v1.24
  perf vendor events intel: Update broadwell events to v29
  perf vendor events intel: Update emeraldrapids events to v1.03
  perf vendor events intel: Update grandridge events to v1.01
  perf vendor events intel: Update haswell events to v35
  perf vendor events intel: Update icelake events to v1.21
  perf vendor events intel: Update meteorlake events to v1.07
  perf vendor events intel: Update rocketlake events to v1.02
  perf vendor events intel: Update sierraforst events to v1.01
  perf vendor events intel: Update skylake events to v58
  perf vendor events intel: Update tigerlake events to v1.15
  perf vendor events intel: Update alderlake TMA metrics to 4.7
  perf vendor events intel: Update broadwell TMA metrics to 4.7
  perf vendor events intel: Update broadwellde TMA metrics to 4.7
  perf vendor events intel: Update broadwellx TMA metrics to 4.7
  perf vendor events intel: Update cascadelakex TMA metrics to 4.7
  perf vendor events intel: Update haswell TMA metrics to 4.7
  perf vendor events intel: Update haswellx TMA metrics to 4.7
  perf vendor events intel: Update icelake TMA metrics to 4.7
  perf vendor events intel: Update icelakex TMA metrics to 4.7
  perf vendor events intel: Update ivybridge TMA metrics to 4.7
  perf vendor events intel: Update ivytown TMA metrics to 4.7
  perf vendor events intel: Update jaketown TMA metrics to 4.7
  perf vendor events intel: Update rocketlake TMA metrics to 4.7
  perf vendor events intel: Update sandybridge TMA metrics to 4.7
  perf vendor events intel: Update sapphirerapids TMA metrics to 4.7
  perf vendor events intel: Update skylake TMA metrics to 4.7
  perf vendor events intel: Update skylakex TMA metrics to 4.7
  perf vendor events intel: Update tigerlake TMA metrics to 4.7

 .../arch/x86/alderlake/adl-metrics.json       |  459 ++-
 .../arch/x86/alderlake/floating-point.json    |   30 +-
 .../arch/x86/alderlake/metricgroups.json      |   11 +-
 .../pmu-events/arch/x86/alderlake/other.json  |   10 +
 .../arch/x86/alderlake/pipeline.json          |   13 +
 .../pmu-events/arch/x86/alderlaken/other.json |    9 +
 .../arch/x86/alderlaken/pipeline.json         |    9 +
 .../arch/x86/broadwell/bdw-metrics.json       |  204 +-
 .../pmu-events/arch/x86/broadwell/memory.json |    2 +-
 .../arch/x86/broadwell/metricgroups.json      |    7 +-
 .../arch/x86/broadwellde/bdwde-metrics.json   |  191 +-
 .../arch/x86/broadwellde/metricgroups.json    |    7 +-
 .../arch/x86/broadwellx/bdx-metrics.json      |  250 +-
 .../arch/x86/broadwellx/metricgroups.json     |    7 +-
 .../arch/x86/cascadelakex/clx-metrics.json    |  566 +++-
 .../arch/x86/cascadelakex/metricgroups.json   |   12 +-
 .../arch/x86/emeraldrapids/uncore-cache.json  |  152 +
 .../pmu-events/arch/x86/grandridge/cache.json |  185 ++
 .../arch/x86/grandridge/floating-point.json   |   68 +
 .../arch/x86/grandridge/frontend.json         |   16 +
 .../arch/x86/grandridge/memory.json           |   66 +
 .../pmu-events/arch/x86/grandridge/other.json |   16 +
 .../arch/x86/grandridge/pipeline.json         |  353 ++
 .../arch/x86/grandridge/uncore-cache.json     | 1795 +++++++++++
 .../x86/grandridge/uncore-interconnect.json   |  175 +
 .../arch/x86/grandridge/uncore-io.json        | 1187 +++++++
 .../arch/x86/grandridge/uncore-memory.json    |  385 +++
 .../arch/x86/grandridge/uncore-power.json     |   10 +
 .../arch/x86/grandridge/virtual-memory.json   |  113 +-
 .../arch/x86/haswell/hsw-metrics.json         |  178 +-
 .../pmu-events/arch/x86/haswell/memory.json   |    2 +-
 .../arch/x86/haswell/metricgroups.json        |    7 +-
 .../arch/x86/haswellx/hsx-metrics.json        |  224 +-
 .../arch/x86/haswellx/metricgroups.json       |    7 +-
 .../arch/x86/icelake/icl-metrics.json         |  398 ++-
 .../pmu-events/arch/x86/icelake/memory.json   |    1 +
 .../arch/x86/icelake/metricgroups.json        |   12 +-
 .../pmu-events/arch/x86/icelake/other.json    |    2 +-
 .../pmu-events/arch/x86/icelake/pipeline.json |   10 +-
 .../arch/x86/icelakex/icx-metrics.json        |  586 +++-
 .../arch/x86/icelakex/metricgroups.json       |   12 +-
 .../arch/x86/ivybridge/ivb-metrics.json       |  197 +-
 .../arch/x86/ivybridge/metricgroups.json      |    7 +-
 .../arch/x86/ivytown/ivt-metrics.json         |  200 +-
 .../arch/x86/ivytown/metricgroups.json        |    7 +-
 .../arch/x86/jaketown/jkt-metrics.json        |   64 +-
 .../arch/x86/jaketown/metricgroups.json       |    7 +-
 tools/perf/pmu-events/arch/x86/mapfile.csv    |   24 +-
 .../pmu-events/arch/x86/meteorlake/cache.json |    8 +-
 .../arch/x86/meteorlake/floating-point.json   |   86 +-
 .../pmu-events/arch/x86/meteorlake/other.json |   10 +
 .../arch/x86/meteorlake/pipeline.json         |   76 +
 .../arch/x86/meteorlake/virtual-memory.json   |   36 +
 .../arch/x86/rocketlake/memory.json           |    1 +
 .../arch/x86/rocketlake/metricgroups.json     |   12 +-
 .../pmu-events/arch/x86/rocketlake/other.json |    2 +-
 .../arch/x86/rocketlake/pipeline.json         |   10 +-
 .../arch/x86/rocketlake/rkl-metrics.json      |  406 ++-
 .../arch/x86/sandybridge/metricgroups.json    |    7 +-
 .../arch/x86/sandybridge/snb-metrics.json     |   71 +-
 .../arch/x86/sapphirerapids/metricgroups.json |   12 +-
 .../arch/x86/sapphirerapids/spr-metrics.json  |  773 +++--
 .../arch/x86/sierraforest/cache.json          |  185 ++
 .../arch/x86/sierraforest/floating-point.json |   68 +
 .../arch/x86/sierraforest/frontend.json       |   16 +
 .../arch/x86/sierraforest/memory.json         |   66 +
 .../arch/x86/sierraforest/other.json          |   16 +
 .../arch/x86/sierraforest/pipeline.json       |  360 +++
 .../arch/x86/sierraforest/uncore-cache.json   | 2853 +++++++++++++++++
 .../arch/x86/sierraforest/uncore-cxl.json     |   10 +
 .../x86/sierraforest/uncore-interconnect.json | 1228 +++++++
 .../arch/x86/sierraforest/uncore-io.json      | 1634 ++++++++++
 .../arch/x86/sierraforest/uncore-memory.json  |  385 +++
 .../arch/x86/sierraforest/uncore-power.json   |   10 +
 .../arch/x86/sierraforest/virtual-memory.json |  113 +-
 .../pmu-events/arch/x86/skylake/memory.json   |    2 +-
 .../arch/x86/skylake/metricgroups.json        |   12 +-
 .../pmu-events/arch/x86/skylake/pipeline.json |    2 +-
 .../arch/x86/skylake/skl-metrics.json         |  395 ++-
 .../arch/x86/skylake/virtual-memory.json      |    2 +-
 .../arch/x86/skylakex/metricgroups.json       |   12 +-
 .../arch/x86/skylakex/skx-metrics.json        |  548 +++-
 .../arch/x86/tigerlake/metricgroups.json      |   12 +-
 .../pmu-events/arch/x86/tigerlake/other.json  |    2 +-
 .../arch/x86/tigerlake/pipeline.json          |   10 +-
 .../arch/x86/tigerlake/tgl-metrics.json       |  406 ++-
 .../x86/tigerlake/uncore-interconnect.json    |    2 +
 87 files changed, 15763 insertions(+), 2349 deletions(-)
 create mode 100644 tools/perf/pmu-events/arch/x86/grandridge/floating-point.json
 create mode 100644 tools/perf/pmu-events/arch/x86/grandridge/uncore-cache.json
 create mode 100644 tools/perf/pmu-events/arch/x86/grandridge/uncore-interconnect.json
 create mode 100644 tools/perf/pmu-events/arch/x86/grandridge/uncore-io.json
 create mode 100644 tools/perf/pmu-events/arch/x86/grandridge/uncore-memory.json
 create mode 100644 tools/perf/pmu-events/arch/x86/grandridge/uncore-power.json
 create mode 100644 tools/perf/pmu-events/arch/x86/sierraforest/floating-point.json
 create mode 100644 tools/perf/pmu-events/arch/x86/sierraforest/uncore-cache.json
 create mode 100644 tools/perf/pmu-events/arch/x86/sierraforest/uncore-cxl.json
 create mode 100644 tools/perf/pmu-events/arch/x86/sierraforest/uncore-interconnect.json
 create mode 100644 tools/perf/pmu-events/arch/x86/sierraforest/uncore-io.json
 create mode 100644 tools/perf/pmu-events/arch/x86/sierraforest/uncore-memory.json
 create mode 100644 tools/perf/pmu-events/arch/x86/sierraforest/uncore-power.json

-- 
2.43.0.687.g38aa6559b0-goog


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ