[PATCH v11 7/7] arm: pmu: Add PMU definitions for cores not initially online
From: Will Deacon <hidden>
Date: 2016-12-15 17:08:11
Also in:
linux-acpi
On Tue, Dec 06, 2016 at 11:56:56AM -0600, Jeremy Linton wrote:
Hi, On 12/06/2016 09:21 AM, Will Deacon wrote:quoted
On Fri, Dec 02, 2016 at 12:56:01PM -0600, Jeremy Linton wrote:quoted
ACPI CPUs aren't associated with a PMU until they have been put online. This means that we potentially have to update a PMU definition the first time a CPU is hot added to the machine. Signed-off-by: Jeremy Linton <redacted> --- drivers/perf/arm_pmu.c | 38 ++++++++++++++++++++++++++++++++++++-- include/linux/perf/arm_pmu.h | 4 ++++ 2 files changed, 40 insertions(+), 2 deletions(-)diff --git a/drivers/perf/arm_pmu.c b/drivers/perf/arm_pmu.c index fa40294..4abb2fe 100644 --- a/drivers/perf/arm_pmu.c +++ b/drivers/perf/arm_pmu.c@@ -711,6 +711,30 @@ static int cpu_pmu_request_irq(struct arm_pmu *cpu_pmu, irq_handler_t handler)return 0; } +static DEFINE_SPINLOCK(arm_pmu_resource_lock);Why do you need this spinlock? The hotplug notifiers are serialised afaik, and you don't take it anywhere else.Well, I assumed they were serialized, but then I went looking for a guarantee and couldn't find one specific to the notifiers, even though the previous lock was removed.
They should be serialised either by virtue of them all running off the back of a single CPU (because the hotplug thread hasn't yet been created), or by the st->done completion for the hotplug work threads. Will