Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Architectural PMU Version Info #57

Open
blu opened this issue Nov 22, 2022 · 1 comment
Open

Architectural PMU Version Info #57

blu opened this issue Nov 22, 2022 · 1 comment
Labels
enhancement New feature or request help wanted Extra attention is needed

Comments

@blu
Copy link

blu commented Nov 22, 2022

Describe the system
System name: any SoC with ID_AA64DFR0_EL1[11:8] PMUVer != 0
Vendor name: multiple
SoC name: multiple
URL to product page:
https://developer.arm.com/documentation/ddi0595/2021-06/AArch64-Registers/ID-AA64DFR0-EL1--AArch64-Debug-Feature-Register-0?lang=en

Additional context
The architectural (where present) PMU version is a useful implementation detail. It's not part of the cpuid, nor it depends on armv8-revision; instead it's fully described by a debug feature register -- ID_AA64DFR0_EL1[11:8] PMUVer; additionally ID_AA64DFR0_EL1[35:32] PMSVer is becoming increasingly useful. Reporting the numerical value of those DFR fields would be valuable.

Furthermore, it's worth considering reporting the architectural PMU events per the given implementation [1], but that's more involved as it requires a major SoC record overhaul.

[1]

$ ls -l /sys/devices/armv8_pmuv3/events/
total 0
-r--r--r-- 1 root root 4096 ное 22 16:41 br_mis_pred
-r--r--r-- 1 root root 4096 ное 22 16:41 br_mis_pred_retired
-r--r--r-- 1 root root 4096 ное 22 16:41 br_pred
-r--r--r-- 1 root root 4096 ное 22 16:41 br_retired
-r--r--r-- 1 root root 4096 ное 22 16:41 cid_write_retired
-r--r--r-- 1 root root 4096 ное 22 16:41 cpu_cycles
-r--r--r-- 1 root root 4096 ное 22 16:41 exc_return
-r--r--r-- 1 root root 4096 ное 22 16:41 exc_taken
-r--r--r-- 1 root root 4096 ное 22 16:41 inst_retired
-r--r--r-- 1 root root 4096 ное 22 16:41 l1d_cache
-r--r--r-- 1 root root 4096 ное 22 16:41 l1d_cache_refill
-r--r--r-- 1 root root 4096 ное 22 16:41 l1d_cache_wb
-r--r--r-- 1 root root 4096 ное 22 16:41 l1d_tlb_refill
-r--r--r-- 1 root root 4096 ное 22 16:41 l1i_cache
-r--r--r-- 1 root root 4096 ное 22 16:41 l1i_cache_refill
-r--r--r-- 1 root root 4096 ное 22 16:41 l1i_tlb_refill
-r--r--r-- 1 root root 4096 ное 22 16:41 mem_access
-r--r--r-- 1 root root 4096 ное 22 16:41 memory_error
-r--r--r-- 1 root root 4096 ное 22 16:41 stall_backend
-r--r--r-- 1 root root 4096 ное 22 16:41 stall_frontend
-r--r--r-- 1 root root 4096 ное 22 16:41 sw_incr
-r--r--r-- 1 root root 4096 ное 22 16:41 ttbr_write_retired
@hrw hrw added enhancement New feature or request help wanted Extra attention is needed labels Nov 22, 2022
@hrw
Copy link
Owner

hrw commented Nov 22, 2022

Would be nice to have POSIX sh script to gather such information. So it can be run even on Android devices with their limited environment.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

2 participants