From: Andrii Nakryiko Date: Mon, 25 Sep 2023 23:22:43 +0000 (-0700) Subject: Merge branch 'add libbpf getters for individual ringbuffers' X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=e0fa6523e02ab31a27daf52e58a0d95fd52d5300;p=linux.git 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 --- e0fa6523e02ab31a27daf52e58a0d95fd52d5300