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

Ian Rogers posted 4 patches 3 years, 10 months ago
There is a newer version of this series
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
[PATCH v2 0/4] Tidy user rdpmc documentation and testing
Posted by Ian Rogers 3 years, 10 months ago
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@mail.gmail.com/

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

 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
Re: [PATCH v2 0/4] Tidy user rdpmc documentation and testing
Posted by Ian Rogers 3 years, 9 months ago
On Wed, Jun 8, 2022 at 10:24 PM Ian Rogers <irogers@google.com> 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@mail.gmail.com/
>
> 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
>