Merge branch 'add libbpf getters for individual ringbuffers'
authorAndrii Nakryiko <andrii@kernel.org>
Mon, 25 Sep 2023 23:22:43 +0000 (16:22 -0700)
committerAndrii Nakryiko <andrii@kernel.org>
Mon, 25 Sep 2023 23:22:55 +0000 (16:22 -0700)
commite0fa6523e02ab31a27daf52e58a0d95fd52d5300
tree9e1a34b4d5b660644fd67a635d69cb074f864d66
parent831916fb93d4b99bd5f18b8530708b88d901a522
parentcb3d7dd2d0dbe92ff3ebdd87fefc254f1c89aeeb
Merge branch 'add libbpf getters for individual ringbuffers'

Martin Kelly says:

====================
This patch series adds a new ring__ API to libbpf exposing getters for
accessing the individual ringbuffers inside a struct ring_buffer. This is
useful for polling individually, getting available data, or similar use
cases. The API looks like this, and was roughly proposed by Andrii Nakryiko
in another thread:

Getting a ring struct:
struct ring *ring_buffer__ring(struct ring_buffer *rb, unsigned int idx);

Using the ring struct:
unsigned long ring__consumer_pos(const struct ring *r);
unsigned long ring__producer_pos(const struct ring *r);
size_t ring__avail_data_size(const struct ring *r);
size_t ring__size(const struct ring *r);
int ring__map_fd(const struct ring *r);
int ring__consume(struct ring *r);

Changes in v2:
- Addressed all feedback from Andrii Nakryiko
====================

Signed-off-by: Andrii Nakryiko <andrii@kernel.org>