lkml.org 
[lkml]   [2023]   [Jan]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v6 6/7] perf vendor events arm64: Add PE utilization metrics for neoverse-n2-v2
    Date
    Add PE utilization related metrics. In cpu_utilization metric, if it is
    neoverse-n2 judged by #slot, the real stall_slot need to subtract the
    cpu_cycles according to the neoverse-n2 errata [0].

    [0] https://documentation-service.arm.com/static/636a66a64e6cf12278ad89cb?token=

    Signed-off-by: Jing Zhang <renyu.zj@linux.alibaba.com>
    Acked-by: Ian Rogers <irogers@google.com>
    ---
    .../arch/arm64/arm/neoverse-n2-v2/metrics.json | 46 ++++++++++++++++++++++
    1 file changed, 46 insertions(+)

    diff --git a/tools/perf/pmu-events/arch/arm64/arm/neoverse-n2-v2/metrics.json b/tools/perf/pmu-events/arch/arm64/arm/neoverse-n2-v2/metrics.json
    index afcdb17..3d6ac0c 100644
    --- a/tools/perf/pmu-events/arch/arm64/arm/neoverse-n2-v2/metrics.json
    +++ b/tools/perf/pmu-events/arch/arm64/arm/neoverse-n2-v2/metrics.json
    @@ -160,5 +160,51 @@
    "MetricGroup": "Branch",
    "MetricName": "branch_miss_pred_rate",
    "ScaleUnit": "100%"
    + },
    + {
    + "MetricExpr": "instructions / CPU_CYCLES",
    + "BriefDescription": "The average number of instructions executed for each cycle.",
    + "MetricGroup": "PEutilization",
    + "MetricName": "ipc"
    + },
    + {
    + "MetricExpr": "ipc / 5",
    + "BriefDescription": "IPC percentage of peak. The peak of IPC is 5.",
    + "MetricGroup": "PEutilization",
    + "MetricName": "ipc_rate",
    + "ScaleUnit": "100%"
    + },
    + {
    + "MetricExpr": "INST_RETIRED / CPU_CYCLES",
    + "BriefDescription": "Architecturally executed Instructions Per Cycle (IPC)",
    + "MetricGroup": "PEutilization",
    + "MetricName": "retired_ipc"
    + },
    + {
    + "MetricExpr": "INST_SPEC / CPU_CYCLES",
    + "BriefDescription": "Speculatively executed Instructions Per Cycle (IPC)",
    + "MetricGroup": "PEutilization",
    + "MetricName": "spec_ipc"
    + },
    + {
    + "MetricExpr": "OP_RETIRED / OP_SPEC",
    + "BriefDescription": "Of all the micro-operations issued, what percentage are retired(committed)",
    + "MetricGroup": "PEutilization",
    + "MetricName": "retired_rate",
    + "ScaleUnit": "100%"
    + },
    + {
    + "MetricExpr": "1 - OP_RETIRED / OP_SPEC",
    + "BriefDescription": "Of all the micro-operations issued, what percentage are not retired(committed)",
    + "MetricGroup": "PEutilization",
    + "MetricName": "wasted_rate",
    + "ScaleUnit": "100%"
    + },
    + {
    + "MetricExpr": "OP_RETIRED / OP_SPEC * (1 - (STALL_SLOT if (#slots - 5) else (STALL_SLOT - CPU_CYCLES)) / (#slots * CPU_CYCLES))",
    + "BriefDescription": "The truly effective ratio of micro-operations executed by the CPU, which means that misprediction and stall are not included",
    + "MetricGroup": "PEutilization",
    + "MetricName": "cpu_utilization",
    + "ScaleUnit": "100%"
    }
    ]
    --
    1.8.3.1
    \
     
     \ /
      Last update: 2023-03-26 23:31    [W:3.138 / U:0.440 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site