Where can I get detailed information about (simple)perf events for ARM CPUs on Android?
simpleperf
list specifies many metrics to track:
simpleperf list
List of hw-cache events:
# More cache events are available in `simpleperf list raw`.
branch-load-misses
branch-loads
dTLB-load-misses
dTLB-loads
iTLB-load-misses
iTLB-loads
L1-dcache-load-misses
...
For many metrics, I can guess what they mean, but there must be an authoritative source describing the metrics briefly. For Intel processors, I find https://perfmon-events.intel.com/ very helpful.
To make the question more concrete, consider the following output:
Performance counter statistics:
# count event_name # count / runtime
14,318,501,812 L1-dcache-loads # 1.620 G/sec
10,143,409,943 raw-mem-access # 1.491 G/sec
What does raw-mem-access
mean? What do I need to do to link it to a short description in some ARM publication?
I grepped through the source code of simple-perf and read the documentation, but I couldn’t figure out how to map metrics denoted by simpleperf
to ARM’s performance events and what they mean. Simpleperf recommends:
Please refer to “PMU common architectural and microarchitectural event numbers” and “ARM recommendations for IMPLEMENTATION DEFINED event numbers” listed in ARMv8 manual for details. A possible link is https://developer.arm.com/docs/ddi0487/latest/arm-architecture-reference-manual-armv8-for-armv8-a-architecture-profile.
but that didn’t bring me very far either.