linuxarmprofilingintelds-5

Profiling tools for Linux and performance monitoring counters for ARM


The question is mainly regarding the profiling tools available for ARM processors - Specifically ARM v7 ; I'm using a Linux

I played around with Intel and AMD processors and I know that they have various profiling tools like Perf, perfmon and valgrind which will allow me to monitor various counters like retired instructions, cache misses, floating point unit, integral units, etc.

However, I don't know if ARM also supports these kind of profiling tools. Do you know any tools that can be used on ARM processors.

I searched through the ARM reference manual but I failed to find the performance counters list. For example, in Intel processors you can find them in the ref. manual and OProfile webpage. Is there a manual or a webpage which lists the list of performance monitoring counters for ARM.

Thanks.


Solution

  • ARMv7-A profile, which is targeted for hosting a rich OS has similar performance counters like Intel . It looks like you have looked into v7-M profile which is targeted for micro-controller environments. Most of the recent ARM cores that runs Linux, like Cortex-A9 are from this profile.

    Perf already supports performance counters on ARM architecture, same with oprofile.

    ARM company also provides a eye-candy eclipse based environment called DS-5 Streamline as well with lots of extra features to help you analyze performance issues.