[PATCH 0/9] ARM perf updates for 3.7
From: Hui Wang <hidden>
Date: 2012-08-13 09:11:37
Hi Will Deacon, For SMP platforms, each CPU core has an independent PMU, and each PMU has a dedicated irq (SPI or PPI). Current perf subsystem framework only supports each PMU to have a dedicated SPI irq, and it will support each PMU to have a PPI irq (i have seen someone has sent out the patches), but there is a situation the subsystem doesn't support yet, the situation is multi PMUs share one same SPI irq, e.g. the i.MX6Quad CPU has 4 cortex-a9 cores, each core has a PMU, all PMU irqs are routed (ORed) to one SPI irq, do you know how to support this situation? Regards, Hui. Will Deacon wrote:
Hello, This patch series contains the ARM perf updates I'd like to push for 3.7 Most of the code is cleanup in preparation for big.LITTLE PMU support, where we will need to support different types of CPU PMU on the same SoC. The PMU probing has changed so that we try to identify the PMU using its DT binding before falling back to probing the current core. The unused PMU registration mechanism is also removed and platforms registering the device have been updated accordingly. Given that this touches a few platforms, I anticipate sending it via arm-soc. All feedback welcome, Will Jon Hunter (1): ARM: PMU: Add runtime PM Support Sudeep KarkadaNagesha (2): ARM: pmu: remove arm_pmu_type enumeration ARM: perf: move irq registration into pmu implementation Will Deacon (6): ARM: perf: add devicetree bindings for 11MPcore, A5, A7 and A15 PMUs ARM: pmu: remove unused reservation mechanism ARM: perf: remove mysterious compiler barrier ARM: perf: probe devicetree in preference to current CPU ARM: perf: prepare for moving CPU PMU code into separate file ARM: perf: move CPU-specific PMU handling code into separate file Documentation/devicetree/bindings/arm/pmu.txt | 4 + MAINTAINERS | 1 - arch/arm/Kconfig | 8 +- arch/arm/include/asm/perf_event.h | 9 +- arch/arm/include/asm/pmu.h | 77 ++---- arch/arm/kernel/Makefile | 3 +- arch/arm/kernel/perf_event.c | 347 ++++--------------------- arch/arm/kernel/perf_event_cpu.c | 295 +++++++++++++++++++++ arch/arm/kernel/perf_event_v6.c | 12 +- arch/arm/kernel/perf_event_v7.c | 32 ++-- arch/arm/kernel/perf_event_xscale.c | 10 +- arch/arm/kernel/pmu.c | 36 --- arch/arm/mach-bcmring/arch.c | 3 +- arch/arm/mach-omap2/devices.c | 3 +- arch/arm/mach-pxa/devices.c | 3 +- arch/arm/mach-realview/realview_eb.c | 3 +- arch/arm/mach-realview/realview_pb1176.c | 3 +- arch/arm/mach-realview/realview_pb11mp.c | 3 +- arch/arm/mach-realview/realview_pba8.c | 3 +- arch/arm/mach-realview/realview_pbx.c | 3 +- arch/arm/mach-tegra/devices.c | 3 +- arch/arm/mach-ux500/cpu-db8500.c | 3 +- arch/arm/mach-vexpress/ct-ca9x4.c | 3 +- arch/arm/plat-iop/pmu.c | 3 +- arch/arm/plat-samsung/devs.c | 3 +- 25 files changed, 424 insertions(+), 449 deletions(-) create mode 100644 arch/arm/kernel/perf_event_cpu.c delete mode 100644 arch/arm/kernel/pmu.c