On Wed, Dec 29, 2021 at 12:42 PM Christy Lee <christylee@xxxxxx> wrote: > > With perf_buffer__poll() and perf_buffer__consume() APIs available, > there is no reason to expose bpf_perf_event_read_simple() API to > users. If users need custom perf buffer, they could re-implement > the function. > > Mark bpf_perf_event_read_simple() and move the logic to a new > static function so it can still be called by other functions in the > same file. > > [0] Closes: https://github.com/libbpf/libbpf/issues/310 nit: we usually have two spaces before such referenced, I've fixed it up while applying > > Signed-off-by: Christy Lee <christylee@xxxxxx> > --- > tools/lib/bpf/libbpf.c | 15 ++++++++++++--- > tools/lib/bpf/libbpf.h | 1 + > 2 files changed, 13 insertions(+), 3 deletions(-) > > diff --git a/tools/lib/bpf/libbpf.c b/tools/lib/bpf/libbpf.c > index 9cb99d1e2385..8a8020985db1 100644 > --- a/tools/lib/bpf/libbpf.c > +++ b/tools/lib/bpf/libbpf.c > @@ -10676,8 +10676,8 @@ struct bpf_link *bpf_map__attach_struct_ops(const struct bpf_map *map) > return link; > } > > -enum bpf_perf_event_ret > -bpf_perf_event_read_simple(void *mmap_mem, size_t mmap_size, size_t page_size, > +static enum bpf_perf_event_ret > +perf_event_read_simple(void *mmap_mem, size_t mmap_size, size_t page_size, > void **copy_mem, size_t *copy_size, > bpf_perf_event_print_t fn, void *private_data) please also adjust indentation for wrapped arguments. I did it this time while applying, but please keep that in mind for the future. > { > @@ -10724,6 +10724,15 @@ bpf_perf_event_read_simple(void *mmap_mem, size_t mmap_size, size_t page_size, > return libbpf_err(ret); > } > > +enum bpf_perf_event_ret > +bpf_perf_event_read_simple(void *mmap_mem, size_t mmap_size, size_t page_size, > + void **copy_mem, size_t *copy_size, > + bpf_perf_event_print_t fn, void *private_data) > +{ > + return perf_event_read_simple(mmap_mem, mmap_size, page_size, copy_mem, > + copy_size, fn, private_data); > +} > + here you could have just created an alias instead of passing the function through. I've changed to an alias when applying. > struct perf_buffer; > > struct perf_buffer_params { > @@ -11132,7 +11141,7 @@ static int perf_buffer__process_records(struct perf_buffer *pb, > { > enum bpf_perf_event_ret ret; > > - ret = bpf_perf_event_read_simple(cpu_buf->base, pb->mmap_size, > + ret = perf_event_read_simple(cpu_buf->base, pb->mmap_size, > pb->page_size, &cpu_buf->buf, > &cpu_buf->buf_size, > perf_buffer__process_record, cpu_buf); > diff --git a/tools/lib/bpf/libbpf.h b/tools/lib/bpf/libbpf.h > index 85dfef88b3d2..ddf1cc9e7803 100644 > --- a/tools/lib/bpf/libbpf.h > +++ b/tools/lib/bpf/libbpf.h > @@ -1026,6 +1026,7 @@ LIBBPF_API int perf_buffer__buffer_fd(const struct perf_buffer *pb, size_t buf_i > typedef enum bpf_perf_event_ret > (*bpf_perf_event_print_t)(struct perf_event_header *hdr, > void *private_data); > +LIBBPF_DEPRECATED_SINCE(0, 8, "use perf_buffer__poll() or perf_buffer__consume() instead") > LIBBPF_API enum bpf_perf_event_ret > bpf_perf_event_read_simple(void *mmap_mem, size_t mmap_size, size_t page_size, > void **copy_mem, size_t *copy_size, > -- > 2.30.2 >