Re: [PATCH v2 1/2] perf tools: shortcut PERF_FLAG_FD_CLOEXEC probing in case of EBUSY error

From: Jiri Olsa
Date: Fri Oct 02 2015 - 09:19:30 EST


On Thu, Oct 01, 2015 at 11:32:16PM +0200, Yann Droneaud wrote:
> 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().

I see, ook

Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx>

thanks,
jirka
--
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/