[PATCH bpf-next v2 0/3] Add overwrite mode for bpf ring buffer

Xu Kuohai posted 3 patches 4 days, 10 hours ago
include/uapi/linux/bpf.h                      |   4 +
kernel/bpf/ringbuf.c                          | 159 +++++++++++++++---
tools/include/uapi/linux/bpf.h                |   4 +
tools/testing/selftests/bpf/Makefile          |   3 +-
tools/testing/selftests/bpf/bench.c           |   2 +
.../selftests/bpf/benchs/bench_ringbufs.c     |  95 ++++++++++-
.../bpf/benchs/run_bench_ringbufs.sh          |   4 +
.../selftests/bpf/prog_tests/ringbuf.c        |  74 ++++++++
.../selftests/bpf/progs/ringbuf_bench.c       |  10 ++
.../bpf/progs/test_ringbuf_overwrite.c        |  98 +++++++++++
10 files changed, 418 insertions(+), 35 deletions(-)
create mode 100644 tools/testing/selftests/bpf/progs/test_ringbuf_overwrite.c
[PATCH bpf-next v2 0/3] Add overwrite mode for bpf ring buffer
Posted by Xu Kuohai 4 days, 10 hours ago
When the bpf ring buffer is full, new events can not be recorded util
the consumer consumes some events to free space. This may cause critical
events to be discarded, such as in fault diagnostic, where recent events
are more critical than older ones.

So add ovewrite mode for bpf ring buffer. In this mode, the new event
overwrites the oldest event when the buffer is full.

v2:
- remove libbpf changes (Andrii)
- update overwrite benchmark

v1:
https://lore.kernel.org/bpf/20250804022101.2171981-1-xukuohai@huaweicloud.com/

Xu Kuohai (3):
  bpf: Add overwrite mode for bpf ring buffer
  selftests/bpf: Add test for overwrite ring buffer
  selftests/bpf/benchs: Add producer and overwrite bench for ring buffer

 include/uapi/linux/bpf.h                      |   4 +
 kernel/bpf/ringbuf.c                          | 159 +++++++++++++++---
 tools/include/uapi/linux/bpf.h                |   4 +
 tools/testing/selftests/bpf/Makefile          |   3 +-
 tools/testing/selftests/bpf/bench.c           |   2 +
 .../selftests/bpf/benchs/bench_ringbufs.c     |  95 ++++++++++-
 .../bpf/benchs/run_bench_ringbufs.sh          |   4 +
 .../selftests/bpf/prog_tests/ringbuf.c        |  74 ++++++++
 .../selftests/bpf/progs/ringbuf_bench.c       |  10 ++
 .../bpf/progs/test_ringbuf_overwrite.c        |  98 +++++++++++
 10 files changed, 418 insertions(+), 35 deletions(-)
 create mode 100644 tools/testing/selftests/bpf/progs/test_ringbuf_overwrite.c

-- 
2.43.0