[BUG] likwid-perfctr returns "No event in given event string can be configured" on ARM Cortex A72 and Ubuntu aarch64
Created by: ibogosavljevic
Describe the bug likwid-perfctr returns "No event in given event string can be configured" on ARM Cortex A72 and Ubuntu aarch64.
The Ubuntu is a special build for raspberry PI. Here is the output of uname
$ uname -a
Linux ubuntu 5.11.0-1009-raspi #10-Ubuntu SMP PREEMPT Fri May 14 14:49:24 UTC 2021 aarch64 aarch64 aarch64 GNU/Linux
Here is the information about the chip:
$ 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
Thread(s) per core: 1
Core(s) per socket: 4
Socket(s): 1
Vendor ID: ARM
Model: 3
Model name: Cortex-A72
Stepping: r0p3
CPU max MHz: 1500.0000
CPU min MHz: 600.0000
BogoMIPS: 108.00
Vulnerability Itlb multihit: Not affected
Vulnerability L1tf: Not affected
Vulnerability Mds: Not affected
Vulnerability Meltdown: Not affected
Vulnerability Spec store bypass: Vulnerable
Vulnerability Spectre v1: Mitigation; __user pointer sanitization
Vulnerability Spectre v2: Vulnerable
Vulnerability Srbds: Not affected
Vulnerability Tsx async abort: Not affected
Flags: fp asimd evtstrm crc32 cpuid
To Reproduce
- LIKWID 5.2.0 compiled from source (in
config.make
,COMPILER = GCCARMv8
). Installed withsudo
- Operating system as stated
To Reproduce with a LIKWID command
$ likwid-perfctr -a
Group name Description
--------------------------------------------------------------------------------
ICACHE Instruction cache miss rate/ratio
BRANCH Branch prediction miss rate/ratio
L2 L2 cache bandwidth in MBytes/s
MEM Main memory bandwidth in MBytes/s
DATA Load to store ratio
$ likwid-perfctr -g MEM -C 0 -V 3 ls
--------------------------------------------------------------------------------
CPU name: BCM2835
CPU type: ARM Cortex A72
CPU clock: 0.00 GHz
CPU family: 8
CPU model: 0
CPU short: arm8
CPU stepping: 3
CPU features: FP ASIMD
CPU arch: armv8
--------------------------------------------------------------------------------
[likwid-pin] Main PID -> hwthread 0 - OK
Executing: ls
DEBUG - [perfmon_addEventSet:2167] Currently 1 groups of 2 active
DEBUG - [perfgroup_readGroup:871] Reading group MEM from /usr/local/share/likwid/perfgroups/arm8/MEM.txt
DEBUG - [perfmon_addEventSet:2286] Cannot access counter register PMC0
DEBUG - [perfmon_addEventSet:2286] Cannot access counter register PMC1
DEBUG - [perfmon_addEventSet:2286] Cannot access counter register PMC2
DEBUG - [perfmon_addEventSet:2286] Cannot access counter register PMC3
ERROR: No event in given event string can be configured.
Either the events or counters do not exist for the
current architecture. If event options are set, they might
be invalid.