Messages in this thread | | | From | Yann Droneaud <> | Date | Thu, 01 Oct 2015 23:32:16 +0200 | Subject | Re: [PATCH v2 1/2] perf tools: shortcut PERF_FLAG_FD_CLOEXEC probing in case of EBUSY error |
| |
Hi,
Le jeudi 01 octobre 2015 à 22:52 +0200, Jiri Olsa a écrit : > On Thu, Oct 01, 2015 at 05:16:25PM +0200, Yann Droneaud wrote: > > This patch is a simplification of the logic introduced as part of > > commit 63914aca8f7e ('perf tools: Show better error message in case > > we fail to open counters due to EBUSY error'): > > if EBUSY is reported by perf_event_open(), it will not be possible > > to probe PERF_FLAG_FD_CLOEXEC, so it's safe to leave early. > > > > It should be noted that -EBUSY errors are not really expected here > > since commit 038fa0b9739d ('perf tools: Fix PERF_FLAG_FD_CLOEXEC > > flag probing event type open counters due to EBUSY error'): > > the perf event type used now should be safe to use regarding -EBUSY > > error. > > > > Cc: Adrian Hunter <adrian.hunter@intel.com> > > Cc: David Ahern <dsahern@gmail.com> > > Cc: Frederic Weisbecker <fweisbec@gmail.com> > > Cc: Jiri Olsa <jolsa@kernel.org> > > Cc: Namhyung Kim <namhyung@gmail.com> > > Cc: Paul Mackerras <paulus@samba.org> > > Cc: Peter Zijlstra <peterz@infradead.org> > > Cc: Stephane Eranian <eranian@google.com> > > Cc: William Cohen <wcohen@redhat.com> > > Link: > > http://lkml.kernel.org/r/cover.1443708092.git.ydroneaud@opteya.com > > Signed-off-by: Yann Droneaud <ydroneaud@opteya.com> > > --- > > tools/perf/util/cloexec.c | 8 ++++++-- > > 1 file changed, 6 insertions(+), 2 deletions(-) > > > > diff --git a/tools/perf/util/cloexec.c b/tools/perf/util/cloexec.c > > index 2babddaa2481..be226d293c91 100644 > > --- a/tools/perf/util/cloexec.c > > +++ b/tools/perf/util/cloexec.c > > @@ -56,7 +56,11 @@ static int perf_flag_probe(void) > > return 1; > > } > > > > - WARN_ONCE(err != EINVAL && err != EBUSY, > > + /* ignore busy errors */ > > + if (err == EBUSY) > > + return -1; > > so what's now the error message in case we get EBUSY ? >
None, just as it does currently.
perf_event_open_cloexec_flag() will still will return 0 just like PERF_FLAG_FD_CLOEXEC was not available.
Handling -EBUSY is left to the function which will try to make use of perf_event_open().
Regards.
-- Yann Droneaud OPTEYA
| |