[PATCH v21 0/9] ring-buffer: Making persistent ring buffers robust

Steven Rostedt posted 9 patches 2 days, 2 hours ago
include/linux/ring_buffer.h |   1 +
kernel/trace/Kconfig        |  34 +++
kernel/trace/ring_buffer.c  | 543 +++++++++++++++++++++++++++++---------------
kernel/trace/trace.c        |   4 +
4 files changed, 402 insertions(+), 180 deletions(-)
[PATCH v21 0/9] ring-buffer: Making persistent ring buffers robust
Posted by Steven Rostedt 2 days, 2 hours ago
This is to make the persistent ring buffer more robust when sub-buffers
are detected to be corrupted. Instead of invalidating the entire buffer,
just invalidate the individual sub-buffers.

I started with Masami's patches and modified some from Sashiko reviews.
I added a few patches to display the dropped events when the persistent
ring buffers validation checks found sub-buffers were dropped due to being
corrupted data.

Changes since v20: https://lore.kernel.org/all/20260520184938.749337513@kernel.org/

- squashed the fix for max_loops in rb_iter_peek()

- Still process reader page if head page fails validation (Sashiko)

- Removed left over printk() (Masami Hiramatsu)


Masami Hiramatsu (Google) (6):
      ring-buffer: Skip invalid sub-buffers when validating persistent ring buffer
      ring-buffer: Skip invalid sub-buffers when rewinding persistent ring buffer
      ring-buffer: Add persistent ring buffer invalid-page inject test
      ring-buffer: Show commit numbers in buffer_meta file
      ring-buffer: Cleanup persistent ring buffer validation
      ring-buffer: Cleanup buffer_data_page related code

Steven Rostedt (3):
      ring-buffer: Have dropped subbuffers be persistent across reboots
      ring-buffer: Show persistent buffer dropped events in trace file
      ring-buffer: Show persistent buffer dropped events in trace_pipe file

----
 include/linux/ring_buffer.h |   1 +
 kernel/trace/Kconfig        |  34 +++
 kernel/trace/ring_buffer.c  | 543 +++++++++++++++++++++++++++++---------------
 kernel/trace/trace.c        |   4 +
 4 files changed, 402 insertions(+), 180 deletions(-)