Add ARM support to perf
perf is a sampling profiler that can make use of hardware support to give system wide profiling information.
Investigate and extend.
Blueprint information
- Status:
- Complete
- Approver:
- Michael Hope
- Priority:
- Medium
- Drafter:
- Michael Hope
- Direction:
- Needs approval
- Assignee:
- Ken Werner
- Definition:
- Drafting
- Series goal:
- Accepted for 11.05
- Implementation:
-
Implemented
- Milestone target:
-
11.05-final
- Started by
- Ken Werner
- Completed by
- Michael Hope
Whiteboard
Work items for stage 1:
Understand ARMv7 common performance counters: DONE
Understand Cortex-A9 performance counters: DONE
Understand perf counter and differences with hardware: DONE
Understand the SMP extensions: TODO
Investigate current perf events support: DONE
Work items for stage 2:
Decide and document a plan: DONE
Get an agreement on this plan[1]: DONE
Currently the perf utility doesn't support the use of symbolic names to specify a certain hardware event nor is there a possibility to list all the events provided by the hardware. A patch that implements this by changing perf to make use of libpfm4 can be found at:
https:/
After discussing this with the libpfm4 maintainer it turned out that someone else is working this and that the libpfm4 API will change. Therefore our work toward this has been stopped.
Should cover all of the performance counters available on a multi-core Cortex-A9.
Note that oprofile kernel part is currently implemented as a thin wrapper around the perf infrastructure. The userspace tools are quite different. perf is the way forward.
[1] Ken and Michael agreed to do nothing in the 11.11 cycle
Effort: 2-4M
Work Items
Dependency tree

* Blueprints in grey have been implemented.