ARM: perf: set cpu affinity to support multiple PMUs
authorSudeep KarkadaNagesha <sudeep.karkadanagesha@arm.com>
Tue, 25 Sep 2012 16:26:51 +0000 (17:26 +0100)
committerJon Medhurst <tixy@linaro.org>
Wed, 17 Jul 2013 10:12:04 +0000 (11:12 +0100)
commit77eae07cad7b4940a04a156fbc25f887e8b62f2e
tree8d33c014c8cbac7789ebce9fccfb1847ef7c6486
parentc5cb3e02afbaaa22d4fcd6d9f641bc60b357eb24
ARM: perf: set cpu affinity to support multiple PMUs

In a system with multiple heterogeneous CPU PMUs and each PMUs can handle
events on a subset of CPUs, probably belonging a the same cluster.

This patch introduces a cpumask to track which CPUs each PMU supports.
It also updates armpmu_event_init to reject cpu-specific events being
initialised for unsupported CPUs. Since process-specific events can be
initialised for all the CPU PMUs,armpmu_start/stop/add are modified to
prevent from being added on unsupported CPUs.

Signed-off-by: Sudeep KarkadaNagesha <sudeep.karkadanagesha@arm.com>
Documentation/devicetree/bindings/arm/pmu.txt
arch/arm/include/asm/pmu.h
arch/arm/kernel/perf_event.c
arch/arm/kernel/perf_event_cpu.c