[PATCH 00/10] ARM: perf: updates for 3.2
will.deacon at arm.com
Mon Aug 8 13:16:01 EDT 2011
This patch series contains a number of updates to the ARM PMU and perf
code so that we can support mode exclusion, which is new in debug
architecture 7.1 (as implemented by the Cortex-A15). Some of these
updates also coincide with work to support System PMUs (PMUs that are
not affine to a single CPU) but that is a larger body of work which will
be posted separately at a later date.
The patches do the following:
1.) Greatly simplify the PMU reservation mechanism so that the
handling of platform_devices is moved into perf.
2.) Cleans up the interrupt registration and some of the types used
to represent events and registers.
3.) Moves event indexing to start from zero rather than one, making
the code more readable and also easier to extend for mode
4.) Adds support for mode exclusion (user / kernel / hyp) and
implements this for Cortex-A15.
I've been running these patches since 3.0, so they've been tested on
1176, 11MPCore, Cortex-A5, Cortex-A9 and Cortex-A15 platforms.
Once again, all feedback is welcome.
Cc: Jean Pihet <j-pihet at ti.com>
Cc: Jamie Iles <jamie at jamieiles.com>
Mark Rutland (1):
ARM: perf: de-const struct arm_pmu
Will Deacon (9):
ARM: PMU: move CPU PMU platform device handling and init into perf
ARM: perf: use cpumask_t to record active IRQs
ARM: perf: use u32 instead of unsigned long for PMNC register
ARM: perf: use integers for ARMv7 event indices
ARM: perf: index ARMv7 event counters starting from zero
ARM: perf: index Xscale and ARMv6 event counters starting from zero
ARM: perf: index PMU registers from zero
ARM: perf: allow armpmu to implement mode exclusion
ARM: perf: add mode exclusion for Cortex-A15 PMU
arch/arm/include/asm/pmu.h | 39 +---
arch/arm/kernel/perf_event.c | 176 ++++++++++++-------
arch/arm/kernel/perf_event_v6.c | 16 +-
arch/arm/kernel/perf_event_v7.c | 327 ++++++++++++++++-------------------
arch/arm/kernel/perf_event_xscale.c | 18 +-
arch/arm/kernel/pmu.c | 181 +------------------
6 files changed, 302 insertions(+), 455 deletions(-)
More information about the linux-arm-kernel