Commit cc56d673 authored by Vince Weaver's avatar Vince Weaver Committed by Ingo Molnar

powerpc, perf: Use common PMU interrupt disabled code

Transition to using the new generic PERF_PMU_CAP_NO_INTERRUPT method for
failing a sampling event when no PMU interrupt is available.
Signed-off-by: default avatarVince Weaver <vincent.weaver@maine.edu>
Signed-off-by: default avatarPeter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/alpine.DEB.2.10.1406191435440.27913@vincent-weaver-1.umelst.maine.edu
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Cody P Schafer <cody@linux.vnet.ibm.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Paul Mackerras <paulus@samba.org>
Cc: linux-kernel@vger.kernel.org
Cc: linuxppc-dev@lists.ozlabs.org
Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
parent 1c92f885
...@@ -387,8 +387,7 @@ static int h_24x7_event_init(struct perf_event *event) ...@@ -387,8 +387,7 @@ static int h_24x7_event_init(struct perf_event *event)
event->attr.exclude_hv || event->attr.exclude_hv ||
event->attr.exclude_idle || event->attr.exclude_idle ||
event->attr.exclude_host || event->attr.exclude_host ||
event->attr.exclude_guest || event->attr.exclude_guest)
is_sampling_event(event)) /* no sampling */
return -EINVAL; return -EINVAL;
/* no branch sampling */ /* no branch sampling */
...@@ -513,6 +512,9 @@ static int hv_24x7_init(void) ...@@ -513,6 +512,9 @@ static int hv_24x7_init(void)
if (!hv_page_cache) if (!hv_page_cache)
return -ENOMEM; return -ENOMEM;
/* sampling not supported */
h_24x7_pmu.capabilities |= PERF_PMU_CAP_NO_INTERRUPT;
r = perf_pmu_register(&h_24x7_pmu, h_24x7_pmu.name, -1); r = perf_pmu_register(&h_24x7_pmu, h_24x7_pmu.name, -1);
if (r) if (r)
return r; return r;
......
...@@ -210,8 +210,7 @@ static int h_gpci_event_init(struct perf_event *event) ...@@ -210,8 +210,7 @@ static int h_gpci_event_init(struct perf_event *event)
event->attr.exclude_hv || event->attr.exclude_hv ||
event->attr.exclude_idle || event->attr.exclude_idle ||
event->attr.exclude_host || event->attr.exclude_host ||
event->attr.exclude_guest || event->attr.exclude_guest)
is_sampling_event(event)) /* no sampling */
return -EINVAL; return -EINVAL;
/* no branch sampling */ /* no branch sampling */
...@@ -284,6 +283,9 @@ static int hv_gpci_init(void) ...@@ -284,6 +283,9 @@ static int hv_gpci_init(void)
return -ENODEV; return -ENODEV;
} }
/* sampling not supported */
h_gpci_pmu.capabilities |= PERF_PMU_CAP_NO_INTERRUPT;
r = perf_pmu_register(&h_gpci_pmu, h_gpci_pmu.name, -1); r = perf_pmu_register(&h_gpci_pmu, h_gpci_pmu.name, -1);
if (r) if (r)
return r; return r;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment