summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnshuman Khandual <khandual@linux.vnet.ibm.com>2013-06-10 11:23:29 +0530
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2013-07-24 14:42:34 +1000
commitff3d79dc12c2ed38483f6c1e0f26fde430f27c9d (patch)
tree3c66c7f40541c3075b58b750ee02994c5e82ddbf
parent7689bdcab1dca061c4c91f0e1703cef1b7b67e71 (diff)
downloadlinux-ff3d79dc12c2ed38483f6c1e0f26fde430f27c9d.tar.bz2
powerpc/perf: BHRB filter configuration should follow the task
When the task moves around the system, the corresponding cpuhw per cpu strcuture should be popullated with the BHRB filter request value so that PMU could be configured appropriately with that during the next call into power_pmu_enable(). Signed-off-by: Anshuman Khandual <khandual@linux.vnet.ibm.com> Acked-by: Michael Neuling <mikey@neuling.org> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
-rw-r--r--arch/powerpc/perf/core-book3s.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/powerpc/perf/core-book3s.c b/arch/powerpc/perf/core-book3s.c
index a3985aee77fe..24a45f91c65f 100644
--- a/arch/powerpc/perf/core-book3s.c
+++ b/arch/powerpc/perf/core-book3s.c
@@ -1252,8 +1252,11 @@ nocheck:
ret = 0;
out:
- if (has_branch_stack(event))
+ if (has_branch_stack(event)) {
power_pmu_bhrb_enable(event);
+ cpuhw->bhrb_filter = ppmu->bhrb_filter_map(
+ event->attr.branch_sample_type);
+ }
perf_pmu_enable(event->pmu);
local_irq_restore(flags);