Re: [PATCH v3] perf record: Use an eventfd to wakeup when done

Anand K. Mistry
2020-05-25T01:43:14Z

On Sat, 23 May 2020 at 23:35, Andi Kleen <ak@linux.intel.com> wrote:
>
> Anand K Mistry <amistry@google.com> writes:
> > }
> >
> > + done_fd = eventfd(0, EFD_NONBLOCK);
>
> This will make perf depend on a recent glibc or other library
> that implements eventfd. Wouldn't surprise me if some kind
> of build time check is needed for this to pass all of Arnaldo's
> built tests.

Looks like Arnaldo made that change when merging:
https://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git/commit/?h=perf/core&id=e9db221d37f91409040cf7f3fbed08b44e055ae9

This makes me curious. How old a kernel should modern tools support?
From the man page, eventfd was added in 2.6.22 (and eventfd2 in
2.6.27), which was 2007 (or 2008 for eventfd2) and glibc-2.8 which was
2008. I understand the kernel's policy of never breaking userspace,
but what about userspace tools?

>
>
> -Andi

--
Anand K. Mistry
Software Engineer
Google Australia