[tip:perf/core] perf/x86/amd/uncore: Do not register a task ctx for uncore PMUs

From: tip-bot for Peter Zijlstra
Date: Wed Apr 13 2016 - 07:48:45 EST


Commit-ID: 31d50c551e30923b86a1b5b420920dd1927fa63b
Gitweb: http://git.kernel.org/tip/31d50c551e30923b86a1b5b420920dd1927fa63b
Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
AuthorDate: Mon, 4 Apr 2016 16:02:08 +0200
Committer: Ingo Molnar <mingo@xxxxxxxxxx>
CommitDate: Wed, 13 Apr 2016 11:56:36 +0200

perf/x86/amd/uncore: Do not register a task ctx for uncore PMUs

The new sanity check introduced by:

26657848502b ("perf/core: Verify we have a single perf_hw_context PMU")

... triggered on the AMD uncore driver.

Uncore PMUs are per node, they cannot have per-task counters. Fix it.

Reported-by: Borislav Petkov <bp@xxxxxxx>
Reported-by: Ingo Molnar <mingo@xxxxxxxxxx>
Tested-by: Borislav Petkov <bp@xxxxxxx>
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: acme@xxxxxxxxxx
Cc: alexander.shishkin@xxxxxxxxxxxxxxx
Cc: eranian@xxxxxxxxxx
Cc: jolsa@xxxxxxxxxx
Cc: linux-tip-commits@xxxxxxxxxxxxxxx
Cc: vincent.weaver@xxxxxxxxx
Link: http://lkml.kernel.org/r/20160404140208.GA3448@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
---
arch/x86/events/amd/uncore.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/arch/x86/events/amd/uncore.c b/arch/x86/events/amd/uncore.c
index 3db9569..98ac573 100644
--- a/arch/x86/events/amd/uncore.c
+++ b/arch/x86/events/amd/uncore.c
@@ -263,6 +263,7 @@ static const struct attribute_group *amd_uncore_attr_groups[] = {
};

static struct pmu amd_nb_pmu = {
+ .task_ctx_nr = perf_invalid_context,
.attr_groups = amd_uncore_attr_groups,
.name = "amd_nb",
.event_init = amd_uncore_event_init,
@@ -274,6 +275,7 @@ static struct pmu amd_nb_pmu = {
};

static struct pmu amd_l2_pmu = {
+ .task_ctx_nr = perf_invalid_context,
.attr_groups = amd_uncore_attr_groups,
.name = "amd_l2",
.event_init = amd_uncore_event_init,