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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxxxxxxx/

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





[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux