Message ID | 20230816114841.1679234-4-james.clark@arm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | perf vendor events arm64: Update N2 and V2 metrics and events using Arm telemetry repo | expand |
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@google.com> > Reviewed-by: John Garry <john.g.garry@oracle.com> > Signed-off-by: James Clark <james.clark@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 >
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" } ]