Re: [PATCH v5 1/6] perf vendor events arm64: Add topdown L1 metrics for neoverse-n2
From: Jing Zhang <renyu.zj@linux.alibaba.com>
Date: 2023-01-05 10:06:13
Also in:
linux-perf-users, lkml
在 2023/1/5 上午1:26, John Garry 写道:
On 04/01/2023 05:05, Jing Zhang wrote:quoted
在 2023/1/3 下午7:52, John Garry 写道:quoted
On 03/01/2023 11:39, Jing Zhang wrote:quoted
The formula of topdown L1 on neoverse-n2 is from ARM sbsa7.0 platform design document [0], D37-38.I think that I mentioned this before - if the these metrics are coming from an sbsa doc, then they are standard. As such, we can make them "arch std events" and put them in a common json such as sbsa.json, so that other cores may reuse. You don't strictly have to do do this now, but it would be better.Hi John,Hi Jing,quoted
I would really like to do this, but as discussed earlier, slot is different on each architectures. If I do not specify the value of the slot in sbsa.json, then in the json file of n2/v1, I need to overwrite each topdown "MetricExpr". In other words, the metrics placed in the sbsa.json file only reuse "BriefDescription", "MetricGroup" and "ScaleUnit". So I'm not sure if it's acceptable?I don't see a lot of value in that really. However, for this value of slot, isn't this discoverable from a system register per core? Quoting the sbsa: "The IMPLEMENTATION DEFINED constant SLOTS is discoverable from the system register PMMIR_EL1.SLOTS." Did you consider how this could be used?
This may be a feasible idea. The value of slots comes from the register PMMIR_EL1, which I can read in /sys/bus/event_source/device/armv8_pmuv3_*/caps/slots. But how do I replace the slots in MetricExpr with the read slots values? Currently I understand that parameters in metricExpr only support events and constants. _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel