Re: [PATCH] perf tools: Fix PERF_FLAG_FD_CLOEXEC flag probing event type open counters due to EBUSY error

From: Yann Droneaud
Date: Wed Aug 06 2014 - 06:00:19 EST


Hi,

Le dimanche 03 aoÃt 2014 Ã 14:10 +0200, Jiri Olsa a Ãcrit :
> On Sat, Aug 02, 2014 at 07:58:25PM +0200, Yann Droneaud wrote:

> heh, I haven't realized that your probing event was
> PERF_COUNT_SW_CPU_CLOCK, which could never be busy
> and found following bug ;-)
>
> jirka
>
>
> ---
> We were using PERF_COUNT_SW_CPU_CLOCK as an probing event type.
> Using expected PERF_TYPE_SOFTWARE type instead.
>
> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx>
> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
> Cc: David Ahern <dsahern@xxxxxxxxx>
> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
> 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>
> Cc: Yann Droneaud <ydroneaud@xxxxxxxxxx>
> Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx>
> ---
> tools/perf/util/cloexec.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/perf/util/cloexec.c b/tools/perf/util/cloexec.c
> index dc360ebde745..0f7eb0a53d4b 100644
> --- a/tools/perf/util/cloexec.c
> +++ b/tools/perf/util/cloexec.c
> @@ -9,7 +9,7 @@ static int perf_flag_probe(void)
> {
> /* use 'safest' configuration as used in perf_evsel__fallback() */
> struct perf_event_attr attr = {
> - .type = PERF_COUNT_SW_CPU_CLOCK,
> + .type = PERF_TYPE_SOFTWARE,
> .config = PERF_COUNT_SW_CPU_CLOCK,

erf ... I was even not able to copy paste correctly the configuration
used in perf_evsel__fallback(), my bad.

Thanks for the fix.

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/