Skip to content

ring-buffer: Making persistent ring buffers robust

Masami Hiramatsu (Google) linux-arm-kernel linux-trace-kernel lkml 21 versions – In review

Get series with b4
b4 am 177751968499.2136606.17388366710182662849.stgit@mhiramat.tok.corp.google.com

Versions newest first · linked by author and title

  1. v19 Latest7 patches 5 repliesIn review
  2. v188 patches 10 repliesSuperseded
  3. v175 patches 2 repliesSuperseded
Earlier versions · 18
VersionPostedPatchesRepliesStatus
v16 posting 2/25 patches0 repliesSuperseded
v16 posting 1/25 patches0 repliesSuperseded
v155 patches5 repliesSuperseded
v145 patches9 repliesSuperseded
v134 patches5 repliesSuperseded
v124 patches5 repliesSuperseded
v11 posting 2/24 patches1 replySuperseded
v11 posting 1/25 patches1 replySuperseded
v105 patches0 repliesSuperseded
v94 patches6 repliesSuperseded
v82 patches0 repliesSuperseded
v72 patches7 repliesSuperseded
v63 patches0 repliesSuperseded
v53 patches5 repliesSuperseded
v43 patches4 repliesSuperseded
v33 patches1 replySuperseded
v24 patches4 repliesSuperseded
v11 patch1 replySuperseded

Patches in v19 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/7ring-buffer: Flush and stop persistent ring buffer on panicarch/alpha/include/asm/Kbuild arch/arc/include/asm/Kbuild arch/arm/include/asm/Kbuild +20 more+65 -00 replies
2/7ring-buffer: Skip invalid sub-buffers when validating persistent ring bufferkernel/trace/ring_buffer.c+70 -460 replies
3/7ring-buffer: Skip invalid sub-buffers when rewinding persistent ring bufferkernel/trace/ring_buffer.c+63 -390 replies
4/7ring-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
5/7ring-buffer: Show commit numbers in buffer_meta filekernel/trace/ring_buffer.c+4 -10 replies
6/7ring-buffer: Cleanup persistent ring buffer validationkernel/trace/ring_buffer.c+107 -910 replies
7/7ring-buffer: Cleanup buffer_data_page related codekernel/trace/ring_buffer.c+60 -520 replies

Reviews trailers per patch

1 of 7 patches has a Reviewed-by or Acked-by.

PatchCatalin MarinasGeert Uytterhoeven
1/7A-b A-b
2/7
3/7
4/7
5/7
6/7
7/7

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

Read the v19 thread

Cover letter [PATCH v19 0/7] ring-buffer: Making persistent ring buffers robust

Hi,

Here is the 19th version of improvement patches for making persistent ring buffers robust to failures.
The previous version is here:

https://lore.kernel.org/all/177701351903.2223789.17087009302463188638.stgit@mhiramat.tok.corp.google.com/

This version rebased on v7.1-rc1 and cleanup code.

[2/7] Limit max number of loops to nr_pages in __rb_get_reader_page()
and update comment.
[3/7] Cleanup rb_validate_buffer() so that it is more readable,
and add a comment about the timestamp validation.
[6/7] Add a kerneldoc about rb_validate_buffer().

Thank you,

Masami Hiramatsu (Google) (7):
ring-buffer: Flush and stop persistent ring buffer on panic
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

 arch/alpha/include/asm/Kbuild        |    1 
 arch/arc/include/asm/Kbuild          |    1 
 arch/arm/include/asm/Kbuild          |    1 
 arch/arm64/include/asm/ring_buffer.h |   10 +
 arch/csky/include/asm/Kbuild         |    1 
 arch/hexagon/include/asm/Kbuild      |    1 
 arch/loongarch/include/asm/Kbuild    |    1 
 arch/m68k/include/asm/Kbuild         |    1 
 arch/microblaze/include/asm/Kbuild   |    1 
 arch/mips/include/asm/Kbuild         |    1 
 arch/nios2/include/asm/Kbuild        |    1 
 arch/openrisc/include/asm/Kbuild     |    1 
 arch/parisc/include/asm/Kbuild       |    1 
 arch/powerpc/include/asm/Kbuild      |    1 
 arch/riscv/include/asm/Kbuild        |    1 
 arch/s390/include/asm/Kbuild         |    1 
 arch/sh/include/asm/Kbuild           |    1 
 arch/sparc/include/asm/Kbuild        |    1 
 arch/um/include/asm/Kbuild           |    1 
 arch/x86/include/asm/Kbuild          |    1 
 arch/xtensa/include/asm/Kbuild       |    1 
 include/asm-generic/ring_buffer.h    |   13 +
 include/linux/ring_buffer.h          |    1 
 kernel/trace/Kconfig                 |   34 ++
 kernel/trace/ring_buffer.c           |  490 +++++++++++++++++++++++-----------
 kernel/trace/trace.c                 |    4 
 26 files changed, 415 insertions(+), 157 deletions(-)
 create mode 100644 arch/arm64/include/asm/ring_buffer.h
 create mode 100644 include/asm-generic/ring_buffer.h

base-commit: 254f49634ee16a731174d2ae34bc50bd5f45e731 --
Masami Hiramatsu (Google) <[email protected]>