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: Vince Weaver <vincent.weaver@maine.edu> Signed-off-by: Peter 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: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
Родитель
1c92f88542
Коммит
cc56d673a9
|
@ -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)
|
||||||
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)
|
||||||
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)
|
||||||
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;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче