[PATCH 00/10] ARM: perf: updates for 3.2

Will Deacon 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 mailing list