Add ARM support to perf

Registered by Michael Hope

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:
milestone icon 11.05-final
Started by
Ken Werner
Completed by
Michael Hope

Related branches

Sprints

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://wiki.linaro.org/KenWerner/Sandbox/perf#patching%20perf
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.

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.