[PATCH 0/6] ARM: oprofile: use perf-events framework as backend [v3]
Will Deacon
will.deacon at arm.com
Mon Apr 12 11:04:15 EDT 2010
This is version 3 of the patchset originally posted here:
V1: http://lists.infradead.org/pipermail/linux-arm-kernel/2010-February/010476.html
V2: http://lists.infradead.org/pipermail/linux-arm-kernel/2010-March/011126.html
Changes since V2:
- Rebased onto 2.6.34-rc3
- No longer export perf_event_{enable,disable} functions as this
stopped working with 2.6.34-rc1. Instead create/destroy counters
between profiling runs. This also prevents OProfile from hogging
the PMU lock.
- Merged in patch from Aaro Koskinen to use platform_device
instead of sys_device for OProfile suspend.
- Fixed XScale PMU interrupt handlers to call perf_sample_data_init.
I've tested this on a quad-core Realview PB11MPCore board and compared the
OProfile results with perf-events. The only scope for confusion is that, by
default, OProfile organises samples by symbol name and so counts may appear
significantly less then those reported by perf stat [which combines the
per-symbol counts into a single overall count].
This patch is intended to be applied on top of 604{4-9}/1 in RMK's incoming
patch queue.
Cc: Russell King - ARM Linux <linux at arm.linux.org.uk>
Cc: Ingo Molnar <mingo at elte.hu>
Cc: Peter Zijlstra <peterz at infradead.org>
Cc: Robert Richter <robert.richter at amd.com>
Cc: Jamie Iles <jamie.iles at picochip.com>
Cc: Jean Pihet <jpihet at mvista.com>
Will Deacon (6):
ARM: perf-events: use numeric ID to identify PMU
ARM: perf-events: add support for xscale PMUs
perf-events: allow modules to query the maximum number of perf events
ARM: oprofile: use perf-events framework as backend
ARM: oprofile: remove old files and update KConfig
ARM: oprofile: convert from sysdev to platform device
arch/arm/Kconfig | 26 +-
arch/arm/include/asm/perf_event.h | 14 +
arch/arm/kernel/perf_event.c | 864 ++++++++++++++++++++++++++++++-
arch/arm/oprofile/Makefile | 7 +-
arch/arm/oprofile/backtrace.c | 83 ---
arch/arm/oprofile/common.c | 375 +++++++++++---
arch/arm/oprofile/op_arm_model.h | 35 --
arch/arm/oprofile/op_counter.h | 27 -
arch/arm/oprofile/op_model_arm11_core.c | 162 ------
arch/arm/oprofile/op_model_arm11_core.h | 45 --
arch/arm/oprofile/op_model_mpcore.c | 306 -----------
arch/arm/oprofile/op_model_mpcore.h | 61 ---
arch/arm/oprofile/op_model_v6.c | 78 ---
arch/arm/oprofile/op_model_v7.c | 415 ---------------
arch/arm/oprofile/op_model_v7.h | 103 ----
arch/arm/oprofile/op_model_xscale.c | 444 ----------------
include/linux/perf_event.h | 1 +
kernel/perf_event.c | 6 +
18 files changed, 1182 insertions(+), 1870 deletions(-)
delete mode 100644 arch/arm/oprofile/backtrace.c
delete mode 100644 arch/arm/oprofile/op_arm_model.h
delete mode 100644 arch/arm/oprofile/op_counter.h
delete mode 100644 arch/arm/oprofile/op_model_arm11_core.c
delete mode 100644 arch/arm/oprofile/op_model_arm11_core.h
delete mode 100644 arch/arm/oprofile/op_model_mpcore.c
delete mode 100644 arch/arm/oprofile/op_model_mpcore.h
delete mode 100644 arch/arm/oprofile/op_model_v6.c
delete mode 100644 arch/arm/oprofile/op_model_v7.c
delete mode 100644 arch/arm/oprofile/op_model_v7.h
delete mode 100644 arch/arm/oprofile/op_model_xscale.c
More information about the linux-arm-kernel
mailing list