Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1163106

[PATCH 1/2] perf: return ENOENT instead of ENOTSUPP

From Hendrik Brueckner <brueckner@linux.vnet.ibm.com>
Newsgroups linux.kernel
Subject [PATCH 1/2] perf: return ENOENT instead of ENOTSUPP
Date 2015-06-11 12:00 +0200
Message-ID <pA7rc-1YG-7@gated-at.bofh.it> (permalink)
Organization linux.* mail to news gateway

Show all headers | View raw


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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Back to linux.kernel | Previous | NextNext in thread | Find similar | Unroll thread


Thread

[PATCH 1/2] perf: return ENOENT instead of ENOTSUPP Hendrik Brueckner <brueckner@linux.vnet.ibm.com> - 2015-06-11 12:00 +0200
  [PATCH 2/2] perf: correct event accounting imbalance on error path Hendrik Brueckner <brueckner@linux.vnet.ibm.com> - 2015-06-11 12:00 +0200
  Re: [PATCH 1/2] perf: return ENOENT instead of ENOTSUPP Peter Zijlstra <a.p.zijlstra@chello.nl> - 2015-06-11 12:30 +0200

csiph-web