AnsweredAssumed Answered

i.MX6 - No hardware perf events supported by kernel

Question asked by Saiyam Doshi on Feb 5, 2018
Latest reply on Feb 5, 2018 by Saiyam Doshi

I am using i.MX6QDL(ARM Cortex A9) based Nitrogen6x board running Android 7.1.1. Kernel source can be found at - https://github.com/boundarydevices/linux-imx6/tree/boundary-imx-n7.1.1_1.0.0-ga.

 

The issue I am facing is with hardware performance events support. Below is the kernel configuration.

dtsi changes --

 

pmu {
   compatible = "arm,cortex-a9-pmu";
   interrupts = <0 94 IRQ_TYPE_LEVEL_HIGH>;
}

Kernel macro --
CONFIG_HW_PERF_EVENTS=y
CONFIG_DEBUG_KERNEL=n
CONFIG_TRACE=y
CONFIG_TRACING=y
CONFIG_DEBUG_FS=y
CONFIG_TRACING_SUPPORT=y
CONFIG_FTRACE=y

and with these changes "armv7_a9_pmu_init" probe call succeeds and I am getting "hw perfevents: enabled with armv7_cortex_a9 PMU driver, 7 counters available" kernel log message.

But with 'simpleperf list' it's displaying no 'events' for hw-cache and hardware.

# simpleperf list
List of hw-cache events:

List of hardware events:

 

Below are the queries.
1. Does i.MX6QDL supports PMU? If yes, did I missed anything in configuration to enable it?
2. How to support hardware events and specifically "cpu-cycle" hardware event from the kernel?

 

Thanks,

saiyam

Outcomes