Has anyone got oprofile (or perf) running on the SabreLite or SabreAuto board? Whatever I do, i only get CPU_CYCLES samples. Here's what I've been trying:
Compile and install oprofile-0.9.8:
The version in LTIB (L3.0.35_4.0.0_130424) is too old...
Add PMU support to kernel:
Add imx6_add_armpmu(); to arch/arm/mach-mx6/board-mx6q_sabrelite.c and ~sabreauto.c to get rid of the "unable to reserve pmu" message.
Initialisation:
I need to disable all but one core to get rid of the unhandled IRQ exceptions in the kernel...
echo "0" > /sys/devices/system/cpu/cpu3/online
echo "0" > /sys/devices/system/cpu/cpu2/online
echo "0" > /sys/devices/system/cpu/cpu1/online
#modprobe oprofile #timer=1 # it's compiled into the kernel now
With operf:
operf --callgraph --vmlinux /boot/vmlinux --events CPU_CYCLES:100000:0:1:1,L1D_CACHE:10000:0:1:1,L2D_CACHE:10000:0:1:1,\
BUS_ACCESS:100000:0:1:1,BUS_CYCLES:100000:0:1:1,UNALIGNED_LDST_RETIRED:10000:0:1:1 program
opreport
With opcontrol:
opcontrol --callgraph=8 --separate=kernel --vmlinux=/boot/vmlinux
opcontrol --event=CPU_CYCLES:100000:0:1:1 --event=L1D_CACHE:100000:0:1:1 --event=L2D_CACHE:10000:0:1:1\
--event=BUS_ACCESS:100000:0:1:1 --event=BUS_CYCLES:100000:0:1:1 --event=UNALIGNED_LDST_RETIRED:10000:0:1:1
opcontrol --init
opcontrol --reset
opcontrol --start-daemon
opcontrol --status
opcontrol --start
program
opcontrol --dump
opreport
So, is there anything wrong with what I'm doing (apart from the really ugly hack in the kernel)? Am I missing something obvious? I heard that oprofile should be supported in this LTIB version, but it really seems only the timer mode is working and even with the ugly hack and a newer oprofile only CPU_CYCLES samples can be obtained.