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

Arnaldo Carvalho de Melo acme at kernel.org
Wed Aug 16 09:15:24 PDT 2023


Em Wed, Aug 16, 2023 at 12:47:45PM +0100, James Clark escreveu:
> 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/

This one I had cherry-picked and is already in perf-tools-next, I
applied the others locally, will wait till later to see if people
ack/object.

- Arnaldo
 
> Acked-by: Ian Rogers <irogers at google.com>
> Reviewed-by: John Garry <john.g.garry at oracle.com>
> Signed-off-by: James Clark <james.clark at arm.com>
> ---
>  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
> 

-- 

- Arnaldo



More information about the linux-arm-kernel mailing list