linux-s390.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/2] perf: return ENOENT instead of ENOTSUPP
@ 2015-06-11  9:59 Hendrik Brueckner
  2015-06-11  9:59 ` [PATCH 2/2] perf: correct event accounting imbalance on error path Hendrik Brueckner
  2015-06-11 10:25 ` [PATCH 1/2] perf: return ENOENT instead of ENOTSUPP Peter Zijlstra
  0 siblings, 2 replies; 5+ messages in thread
From: Hendrik Brueckner @ 2015-06-11  9:59 UTC (permalink / raw)
  To: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo
  Cc: Vince Weaver, Paul Mackerras, Martin Schwidefsky, Heiko Carstens,
	linux-kernel, linux-s390, Hendrik Brueckner

The ENOTSUPP (which actually should be EOPNOTSUPP for user space) does not
trigger a fallback event selection, for example, by perf record.
If hardware support for the cycles perf event is available, but the hardware
does not provide interrupts, returning ENOTSUPP causes perf to end.  Returning
ENOENT causes the perf tool to fallback to a software-based cycle PMU that
supports interrupts.

The commit 53b25335dd ("perf: Disable sampled events if no PMU interrupt")
introduced that incompatible change.

Reported-by: Michael Holzheu <holzheu@linux.vnet.ibm.com>
Signed-off-by: Hendrik Brueckner <brueckner@linux.vnet.ibm.com>
---
 kernel/events/core.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/kernel/events/core.c b/kernel/events/core.c
index eddf1ed..4c66465 100644
--- a/kernel/events/core.c
+++ b/kernel/events/core.c
@@ -7964,7 +7964,7 @@ SYSCALL_DEFINE5(perf_event_open,
 
 	if (is_sampling_event(event)) {
 		if (event->pmu->capabilities & PERF_PMU_CAP_NO_INTERRUPT) {
-			err = -ENOTSUPP;
+			err = -ENOENT;
 			goto err_alloc;
 		}
 	}
-- 
1.7.1

^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2015-06-11 13:28 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-06-11  9:59 [PATCH 1/2] perf: return ENOENT instead of ENOTSUPP Hendrik Brueckner
2015-06-11  9:59 ` [PATCH 2/2] perf: correct event accounting imbalance on error path Hendrik Brueckner
2015-06-11 10:25 ` [PATCH 1/2] perf: return ENOENT instead of ENOTSUPP Peter Zijlstra
2015-06-11 13:02   ` Hendrik Brueckner
2015-06-11 13:28     ` Peter Zijlstra

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).