Re: [RFC PATCH v2 0/7] libperf: Add interface for overflow check of sampling events

From: Jiri Olsa
Date: Wed Mar 30 2022 - 09:50:17 EST


On Fri, Mar 25, 2022 at 01:38:22PM +0900, Shunsuke Nakamura wrote:
> This patch series adds interface for overflow check of sampling events
> to libperf.
>
> First patch fixes a typo in the error message that I noticed.
>
> Second patch move 'open_flags' from tools/perf to evsel::open_flags.
>
> Third patch adds a interface to perform IOC_REFRESH and IOC_PERIOD.
>
> Fourth patch introduce perf_{evsel, evlist}__open_opt() with extensible
> structure opts.
>
> Fifth patch adds a interface to check overflowed events.
>
> Sixth and seventh patch adds tests.
>
> ---
> Previous version at:
> https://lore.kernel.org/linux-perf-users/20220225103114.144239-1-nakamura.shun@xxxxxxxxxxx/
>
> Changes in v2:
> - Delete perf_evsel__set_close_on_exec() function
> - Introduce perf_{evsel, evlist}__open_opt() with extensible structure
> opts
> - Fix perf_evsel__set_signal() to a internal function
> - Add bool type argument to perf_evsel__check_{fd, fd_cpu}() to indicate
> overflow results

looks good.. it got more clear to me, sending some comments


>
>
> Shunsuke Nakamura (7):
> libperf tests: Fix typo in the error message
> libperf: Move 'open_flags' from tools/perf to evsel::open_flags
> libperf: Add perf_evsel__{refresh, period}() functions
> libperf: Introduce perf_{evsel, evlist}__open_opt with extensible
> struct opts
> libperf: Add perf_evsel__check_overflow() functions
> libperf test: Add test_stat_overflow()
> libperf test: Add test_stat_overflow_event()

I'm getting:

[root@krava perf]# make tests
running static:
- running tests/test-cpumap.c...OK
- running tests/test-threadmap.c...OK
- running tests/test-evlist.c...OK
- running tests/test-evsel.c...FAILED tests/test-evsel.c:286 failed to overflow count
FAILED tests/test-evsel.c:286 failed to overflow count
FAILED (2)
FAILED tests/main.c:13 test evsel
make: *** [Makefile:162: tests] Error 255

thanks,
jirka

>
> tools/lib/perf/Documentation/libperf.txt | 22 +++
> tools/lib/perf/evlist.c | 20 +++
> tools/lib/perf/evsel.c | 210 ++++++++++++++++++++++-
> tools/lib/perf/include/internal/evsel.h | 2 +
> tools/lib/perf/include/perf/evlist.h | 3 +
> tools/lib/perf/include/perf/evsel.h | 35 ++++
> tools/lib/perf/internal.h | 44 +++++
> tools/lib/perf/libperf.map | 8 +
> tools/lib/perf/tests/test-evlist.c | 135 ++++++++++++++-
> tools/lib/perf/tests/test-evsel.c | 111 ++++++++++++
> tools/perf/util/evsel.c | 16 +-
> tools/perf/util/evsel.h | 1 -
> 12 files changed, 588 insertions(+), 19 deletions(-)
>
> --
> 2.25.1
>