Re: [PATCH] perf tools: enable close-on-exec flag on perf filedescriptor

From: Arnaldo Carvalho de Melo
Date: Mon Jan 06 2014 - 09:44:03 EST


Em Mon, Jan 06, 2014 at 12:24:36PM +0100, Peter Zijlstra escreveu:
> On Mon, Jan 06, 2014 at 11:51:25AM +0100, Yann Droneaud wrote:
> > In a previous patch [1][2], flag PERF_FLAG_FD_CLOEXEC was
> > added to perf_event_open(2) syscall to allows userspace
> > to enable close-on-exec behavor atomically when creating
> > the file descriptor.

> > This patch makes perf tools use the new flag.

> > Beware that perf tools compiled with the new flag won't work
> > on older kernel which do not support flag PERF_FLAG_FD_CLOEXEC.

> > [1] http://lkml.kernel.org/r/8c03f54e1598b1727c19706f3af03f98685d9fe6.1388952061.git.ydroneaud@xxxxxxxxxx
> > [2] https://patchwork.kernel.org/patch/3434971/

> acme, ACK? I was thinking I'd keep these two patches together so the
> entire things lands in tip in one go?

Nope, it should notice the EINVAL, drop the flag that doesn't work on
older kernels, retry, so that new tools continue to work on older
kernels, with yet another fallback.

Please take a look at __perf_evsel__open(), probably it will be best to
add a flag to perf_missing_features, like the one we have for the
perf_event_attr.mmap2 flag, so that we fail just once, etc.

- Arnaldo
--
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/