[PATCHv2 0/9] Prepatory rework for multi-PMU support.

Mark Rutland mark.rutland at arm.com
Mon Oct 27 05:06:30 PDT 2014


This series performs inital preparation for big.LITTLE perf support. It
depends on the CCI rework posted previously [1], as the removal of
get_hw_events and the percpu rework is incompatible with the single
global set of events the CCI has.

Since v1 [2]:

* Added cpu_pmu_destroy to clean up dynamically allocated data and cpu
  notifiers in failure paths. Due to this change I've dropped the
  existing tags from patches 8 and 9.

* Make pmu_probe_table const.

* Removed the unintentional newline change from patch 3, and added a new
  patch to make format strings use newlines consistently.

* In patch 4 the armpmu_map_event type variable remains an int, but the
  (redundant) check against PERF_TYPE_MAX is removed such that it is
  only used for an equality check, as per [3].

As a result of this series:

* The callchain handling is split from the PMU driver, as with metag,
  powerpc, sh, and x86. This enables callchain handling for software
  events when the kernel is built without CONFIG_HW_PERF_EVENTS.

* Legacy MIDR-based PMU probing is factored into a table that a
  subsequent series will split into separate drivers. On its own this
  should not result in a behavioural change.

* The ARM PMU accounting structures are reorganised and absorbed by
  struct arm_pmu, which will make possible the allocation and management
  of multiple PMUs in a later patch series.

Thanks,
Mark.

[1] http://lists.infradead.org/pipermail/linux-arm-kernel/2014-October/295509.html
[2] http://lists.infradead.org/pipermail/linux-arm-kernel/2014-October/295820.html
[3] http://lists.infradead.org/pipermail/linux-arm-kernel/2014-October/296088.html

Mark Rutland (9):
  arm: perf: factor out callchain code
  arm: perf: add missing pr_info newlines
  arm: perf: make PMU probing data-driven
  arm: perf: use IDR types for CPU PMUs
  arm: perf: limit size of accounting data
  arm: perf: kill get_hw_events()
  arm: perf: fold percpu_pmu into pmu_hw_events
  arm: perf: dynamically allocate cpu hardware data
  arm: perf: fold hotplug notifier into arm_pmu

 arch/arm/include/asm/perf_event.h   |   2 +-
 arch/arm/include/asm/pmu.h          |  36 +++++++-
 arch/arm/kernel/Makefile            |   2 +-
 arch/arm/kernel/perf_callchain.c    | 137 +++++++++++++++++++++++++++
 arch/arm/kernel/perf_event.c        | 162 ++++----------------------------
 arch/arm/kernel/perf_event_cpu.c    | 179 ++++++++++++++++++------------------
 arch/arm/kernel/perf_event_v6.c     |  12 +--
 arch/arm/kernel/perf_event_v7.c     |  14 +--
 arch/arm/kernel/perf_event_xscale.c |  20 ++--
 9 files changed, 301 insertions(+), 263 deletions(-)
 create mode 100644 arch/arm/kernel/perf_callchain.c

-- 
1.9.1




More information about the linux-arm-kernel mailing list