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

Ian Rogers posted 4 patches 4 years 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          | 128 ++++++++++++++++-
7 files changed, 177 insertions(+), 217 deletions(-)
delete mode 100644 tools/perf/arch/x86/tests/rdpmc.c
[PATCH 0/4] Tidy user rdpmc documentation and testing
Posted by Ian Rogers 4 years 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/

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          | 128 ++++++++++++++++-
 7 files changed, 177 insertions(+), 217 deletions(-)
 delete mode 100644 tools/perf/arch/x86/tests/rdpmc.c

-- 
2.36.1.255.ge46751e96f-goog