[PATCH v3 3/5] perf vendor events arm64: Update scale units and descriptions of common topdown metrics

Ian Rogers irogers at google.com
Tue Jul 11 17:43:25 PDT 2023


On Tue, Jul 11, 2023 at 3:02 AM James Clark <james.clark at arm.com> wrote:
>
> Metrics will be published here [1] going forwards, but they have
> slightly different scale units. To allow autogenerated metrics to be
> added more easily, update the scale units to match.
>
> The more detailed descriptions have also been taken and added to the
> common file.
>
> [1]: https://gitlab.arm.com/telemetry-solution/telemetry-solution/-/tree/main/data/pmu/cpu/
> Signed-off-by: James Clark <james.clark at arm.com>

Acked-by: Ian Rogers <irogers at google.com>

Thanks,
Ian

> ---
>  tools/perf/pmu-events/arch/arm64/sbsa.json | 24 +++++++++++-----------
>  1 file changed, 12 insertions(+), 12 deletions(-)
>
> diff --git a/tools/perf/pmu-events/arch/arm64/sbsa.json b/tools/perf/pmu-events/arch/arm64/sbsa.json
> index f90b338261ac..4eed79a28f6e 100644
> --- a/tools/perf/pmu-events/arch/arm64/sbsa.json
> +++ b/tools/perf/pmu-events/arch/arm64/sbsa.json
> @@ -1,34 +1,34 @@
>  [
>      {
> -        "MetricExpr": "stall_slot_frontend / (#slots * cpu_cycles)",
> -        "BriefDescription": "Frontend bound L1 topdown metric",
> +        "MetricExpr": "100 * (stall_slot_frontend / (#slots * cpu_cycles))",
> +        "BriefDescription": "This metric is the percentage of total slots that were stalled due to resource constraints in the frontend of the processor.",
>          "DefaultMetricgroupName": "TopdownL1",
>          "MetricGroup": "Default;TopdownL1",
>          "MetricName": "frontend_bound",
> -        "ScaleUnit": "100%"
> +        "ScaleUnit": "1percent of slots"
>      },
>      {
> -        "MetricExpr": "(1 - op_retired / op_spec) * (1 - stall_slot / (#slots * cpu_cycles))",
> -        "BriefDescription": "Bad speculation L1 topdown metric",
> +        "MetricExpr": "100 * ((1 - op_retired / op_spec) * (1 - stall_slot / (#slots * cpu_cycles)))",
> +        "BriefDescription": "This metric is the percentage of total slots that executed operations and didn't retire due to a pipeline flush.\nThis indicates cycles that were utilized but inefficiently.",
>          "DefaultMetricgroupName": "TopdownL1",
>          "MetricGroup": "Default;TopdownL1",
>          "MetricName": "bad_speculation",
> -        "ScaleUnit": "100%"
> +        "ScaleUnit": "1percent of slots"
>      },
>      {
> -        "MetricExpr": "(op_retired / op_spec) * (1 - stall_slot / (#slots * cpu_cycles))",
> -        "BriefDescription": "Retiring L1 topdown metric",
> +        "MetricExpr": "100 * ((op_retired / op_spec) * (1 - stall_slot / (#slots * cpu_cycles)))",
> +        "BriefDescription": "This metric is the percentage of total slots that retired operations, which indicates cycles that were utilized efficiently.",
>          "DefaultMetricgroupName": "TopdownL1",
>          "MetricGroup": "Default;TopdownL1",
>          "MetricName": "retiring",
> -        "ScaleUnit": "100%"
> +        "ScaleUnit": "1percent of slots"
>      },
>      {
> -        "MetricExpr": "stall_slot_backend / (#slots * cpu_cycles)",
> -        "BriefDescription": "Backend Bound L1 topdown metric",
> +        "MetricExpr": "100 * (stall_slot_backend / (#slots * cpu_cycles))",
> +        "BriefDescription": "This metric is the percentage of total slots that were stalled due to resource constraints in the backend of the processor.",
>          "DefaultMetricgroupName": "TopdownL1",
>          "MetricGroup": "Default;TopdownL1",
>          "MetricName": "backend_bound",
> -        "ScaleUnit": "100%"
> +        "ScaleUnit": "1percent of slots"
>      }
>  ]
> --
> 2.34.1
>



More information about the linux-arm-kernel mailing list