You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In my machine, the template_l1d_flush_reload and template_l1d_prime_probe doesn't work as I expect. I located that the problem is in pmevcntr0_el0.
I have tested that using https://github.com/Kingfish404/pmu-utils/, pmevcntr0_el0 could be used to trace events such as L1D cache refills (0x3) in el0 (Linux User Mode).
But, using the feature-arm-port of this repo, adding test code at the end of src/arm64/executor/measurement.c > int config_pfc(void), such as:
Hey @Kingfish404 - thanks for bringing this up. I've run into this issue as well; when testing outside of a Cortex-A72 on a Raspberry Pi 4, I also observed that pmevcntr0_el0 was not properly counting events. IIRC I couldn't get L1D Cache Refills, or simple events like CPU cycles to count with this setup, when I was debugging last year.
In my machine, the
template_l1d_flush_reload
andtemplate_l1d_prime_probe
doesn't work as I expect. I located that the problem is inpmevcntr0_el0
.I have tested that using https://github.com/Kingfish404/pmu-utils/,
pmevcntr0_el0
could be used to trace events such asL1D cache refills (0x3)
in el0 (Linux User Mode).But, using the
feature-arm-port
of this repo, adding test code at the end ofsrc/arm64/executor/measurement.c > int config_pfc(void)
, such as:The
PMU value
will always get0
. If any setup forARM
that is out of this repo or document?Tested Environment:
$ lscpu Architecture: aarch64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 4 On-line CPU(s) list: 0-3 Vendor ID: ARM Model name: Cortex-A76 Model: 1 Thread(s) per core: 1 Core(s) per cluster: 4 Socket(s): - Cluster(s): 1 Stepping: r4p1 CPU(s) scaling MHz: 62% CPU max MHz: 2400.0000 CPU min MHz: 1500.0000 BogoMIPS: 108.00 Flags: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp $ uname -a Linux yujin-desktop 6.8.0-1013-raspi #14-Ubuntu SMP PREEMPT_DYNAMIC Wed Oct 2 15:14:53 UTC 2024 aarch64 aarch64 aarch64 GNU/Linux
@cwshugg
The text was updated successfully, but these errors were encountered: