Access PMU registers in ARM Streamline

268 views Asked by At

I have a Qualcomm Development board with a Kryo 680 processor running a userdebug build of Android 11. I want to run some programs (e.g., benchmarks) and profile them using the ARM Streamline program. Unfortunately, some PMU registers return zero values.

Zero PMU values

I am getting the following warnings from Streamline.

Streamline Warnings

Warning 1: No Perf PMUs detected
Could not detect any Perf PMUs in /sys/bus/event_source/devices/ but the system contains recognised CPUs. The system may not support perf hardware counters. Check CONFIG_HW_PERF_EVENTS is set and that the PMU is configured in the target device tree.

Warning 2: Profiling Source
Using perf API for primary data source

Warning 3: Atrace is disabled
Unable to locate notify.dex

I am unsure of what to change in order to access the PMU counters. Is it an issue of gator? I am the pre-compiled version of gator provided with Streamline 8.0.

EDIT: Some more information printed by the gator daemon in the adb shell.

Unable to enable 1 perf groups due to them being reported as being disabled due to conflict or insufficient resources.
Another process may be using one or more perf counters.
Use `lsof|grep perf_event` (if available) to find other processes that may be using perf counters.
Not all event data may be available in the capture.
See debug log for more information.

The printout of lsof|grep perf_event is the following.

Binder:7545_3  7545     system  101u     0000               0,13       0t0      15649 anon_inode:[perf_event]
Binder:7545_3  7545     system  103u     0000               0,13       0t0      15649 anon_inode:[perf_event]
0

There are 0 answers