Re: [PATCH v2 0/4] Tidy user rdpmc documentation and testing

From: Ian Rogers
Date: Tue Jul 19 2022 - 11:51:40 EST


On Wed, Jun 8, 2022 at 10:24 PM Ian Rogers <irogers@xxxxxxxxxx> wrote:
>
> libperf's perf_mmap__read_self and the addition of arm64 support mean
> that the perf_event.h and the rdpmc perf test have become
> stale. Refresh the documentation in perf_event.h, remove the x86 rdpmc
> test and port the libperf test as a non-architecture specific test.
>
> Address sanitizer testing showed libperf leaking fds when the
> perf_event_open failed, add error paths to handle this.
>
> A comment is added to perf_event.h to avoid a divide by zero when
> scaling counts if the running time is 0. This was previously discussed
> in this thread:
> https://lore.kernel.org/lkml/CAP-5=fVRdqvswtyQMg5cB+ntTGda+SAYskjTQednEH-AeZo13g@xxxxxxxxxxxxxx/
>
> v2. Alters the skip in test_stat_user_read for open to always be a
> skip as perf_event_open may fail with EACCES (permissions), ENOSYS
> (not supported) and ENOENT (hypervisor). Adds Rob Herring's
> acked-by on patch 3.
>
> Ian Rogers (4):
> libperf evsel: Open shouldn't leak fd on failure
> perf: Align user space counter reading with code
> perf test: Remove x86 rdpmc test
> perf test: Add user space counter reading tests

Ping. Would be nice to get this cleaned up in the next release, plus
better testing.

Thanks,
Ian

> include/uapi/linux/perf_event.h | 32 +++--
> tools/include/uapi/linux/perf_event.h | 32 +++--
> tools/lib/perf/evsel.c | 17 ++-
> tools/perf/arch/x86/tests/Build | 1 -
> tools/perf/arch/x86/tests/arch-tests.c | 2 -
> tools/perf/arch/x86/tests/rdpmc.c | 182 -------------------------
> tools/perf/tests/mmap-basic.c | 127 ++++++++++++++++-
> 7 files changed, 176 insertions(+), 217 deletions(-)
> delete mode 100644 tools/perf/arch/x86/tests/rdpmc.c
>
> --
> 2.36.1.255.ge46751e96f-goog
>