Python generated Intel metrics
From: | Ian Rogers <irogers-AT-google.com> | |
To: | Peter Zijlstra <peterz-AT-infradead.org>, Ingo Molnar <mingo-AT-redhat.com>, Arnaldo Carvalho de Melo <acme-AT-kernel.org>, Namhyung Kim <namhyung-AT-kernel.org>, Mark Rutland <mark.rutland-AT-arm.com>, Alexander Shishkin <alexander.shishkin-AT-linux.intel.com>, Jiri Olsa <jolsa-AT-kernel.org>, Ian Rogers <irogers-AT-google.com>, Adrian Hunter <adrian.hunter-AT-intel.com>, Kan Liang <kan.liang-AT-linux.intel.com>, James Clark <james.clark-AT-linaro.org>, Xu Yang <xu.yang_2-AT-nxp.com>, linux-kernel-AT-vger.kernel.org, linux-perf-users-AT-vger.kernel.org, John Garry <john.g.garry-AT-oracle.com>, Jing Zhang <renyu.zj-AT-linux.alibaba.com>, Sandipan Das <sandipan.das-AT-amd.com>, Benjamin Gray <bgray-AT-linux.ibm.com>, Perry Taylor <perry.taylor-AT-intel.com>, Samantha Alt <samantha.alt-AT-intel.com>, Caleb Biggers <caleb.biggers-AT-intel.com>, Weilin Wang <weilin.wang-AT-intel.com>, Edward Baker <edward.baker-AT-intel.com>, Thomas Falcon <thomas.falcon-AT-intel.com> | |
Subject: | [PATCH v5 00/22] Python generated Intel metrics | |
Date: | Thu, 28 Aug 2025 21:10:41 -0700 | |
Message-ID: | <20250829041104.4186320-1-irogers@google.com> | |
Archive-link: | Article |
Generate twenty sets of additional metrics for Intel. Rapl and Idle metrics aren't specific to Intel but are placed here for ease and convenience. Smi and tsx metrics are added so they can be dropped from the per model json files. There are four uncore sets of metrics and eleven core metrics. Add a CheckPmu function to metric to simplify detecting the presence of hybrid PMUs in events. Metrics with experimental events are flagged as experimental in their description. The patches should be applied on top of: https://lore.kernel.org/lkml/20250829033138.4166591-1-iro... v5. Rebase. Fix description for smi metric (Kan). Prefix all metric names with lpm_ (short for Linux Perf Metric) so that python generated metrics are clearly namespaced. Kan requested a namespace in his review: https://lore.kernel.org/lkml/43548903-b7c8-47c4-b1da-0258... v4. Experimental metric descriptions. Add mesh bandwidth metric. Rebase. https://lore.kernel.org/lkml/20240926175035.408668-1-irog... v3. Swap tsx and CheckPMU patches that were in the wrong order. Some minor code cleanup changes. Drop reference to merged fix for umasks/occ_sel in PCU events and for cstate metrics. https://lore.kernel.org/lkml/20240314055919.1979781-1-iro... v2. Drop the cycles breakdown in favor of having it as a common metric, spelling and other improvements suggested by Kan Liang <kan.liang@linux.intel.com>. https://lore.kernel.org/lkml/20240301185559.2661241-1-iro... v1. https://lore.kernel.org/lkml/20240229001806.4158429-1-iro... Ian Rogers (22): perf jevents: Add RAPL metrics for all Intel models perf jevents: Add idle metric for Intel models perf jevents: Add CheckPmu to see if a PMU is in loaded json events perf jevents: Add smi metric group for Intel models perf jevents: Mark metrics with experimental events as experimental perf jevents: Add tsx metric group for Intel models perf jevents: Add br metric group for branch statistics on Intel perf jevents: Add software prefetch (swpf) metric group for Intel perf jevents: Add ports metric group giving utilization on Intel perf jevents: Add L2 metrics for Intel perf jevents: Add load store breakdown metrics ldst for Intel perf jevents: Add ILP metrics for Intel perf jevents: Add context switch metrics for Intel perf jevents: Add FPU metrics for Intel perf jevents: Add Miss Level Parallelism (MLP) metric for Intel perf jevents: Add mem_bw metric for Intel perf jevents: Add local/remote "mem" breakdown metrics for Intel perf jevents: Add dir breakdown metrics for Intel perf jevents: Add C-State metrics from the PCU PMU for Intel perf jevents: Add local/remote miss latency metrics for Intel perf jevents: Add upi_bw metric for Intel perf jevents: Add mesh bandwidth saturation metric for Intel tools/perf/pmu-events/intel_metrics.py | 1065 +++++++++++++++++++++++- tools/perf/pmu-events/metric.py | 52 ++ 2 files changed, 1114 insertions(+), 3 deletions(-) -- 2.51.0.318.gd7df087d1a-goog