Re: [PATCH v2 1/2] perf tools: shortcut PERF_FLAG_FD_CLOEXEC probing in case of EBUSY error
From: Yann Droneaud
Date: Thu Oct 01 2015 - 17:32:44 EST
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@xxxxxxxxx>
> > Cc: David Ahern <dsahern@xxxxxxxxx>
> > Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
> > Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
> > Cc: Namhyung Kim <namhyung@xxxxxxxxx>
> > Cc: Paul Mackerras <paulus@xxxxxxxxx>
> > Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
> > Cc: Stephane Eranian <eranian@xxxxxxxxxx>
> > Cc: William Cohen <wcohen@xxxxxxxxxx>
> > Link:
> > http://lkml.kernel.org/r/cover.1443708092.git.ydroneaud@xxxxxxxxxx
> > Signed-off-by: Yann Droneaud <ydroneaud@xxxxxxxxxx>
> > ---
> > 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/