Skip to content

ring-buffer: Making persistent ring buffers robust

Steven Rostedt linux-trace-kernel lkml 2 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v21 Latest9 patches 10 repliesIn review
  2. v2010 patches 12 repliesSuperseded

Patches in v21 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/9ring-buffer: Skip invalid sub-buffers when validating persistent ring bufferkernel/trace/ring_buffer.c+73 -470 replies
2/9ring-buffer: Skip invalid sub-buffers when rewinding persistent ring bufferkernel/trace/ring_buffer.c+69 -380 replies
3/9ring-buffer: Add persistent ring buffer invalid-page inject testinclude/linux/ring_buffer.h kernel/trace/Kconfig kernel/trace/ring_buffer.c +1 more+118 -00 replies
4/9ring-buffer: Show commit numbers in buffer_meta filekernel/trace/ring_buffer.c+4 -10 replies
5/9ring-buffer: Cleanup persistent ring buffer validationkernel/trace/ring_buffer.c+108 -920 replies
6/9ring-buffer: Cleanup buffer_data_page related codekernel/trace/ring_buffer.c+60 -520 replies
7/9ring-buffer: Have dropped subbuffers be persistent across rebootskernel/trace/ring_buffer.c+6 -50 replies
8/9ring-buffer: Show persistent buffer dropped events in trace filekernel/trace/ring_buffer.c+10 -36 replies
9/9ring-buffer: Show persistent buffer dropped events in trace_pipe filekernel/trace/ring_buffer.c+34 -221 reply

Reviews trailers per patch

2 of 9 patches have a Reviewed-by or Acked-by.

PatchMasami Hiramatsu (Google)
1/9
2/9
3/9
4/9
5/9
6/9
7/9R-b
8/9
9/9R-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v21 thread

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

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/[email protected]/

- 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(-)