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.st...@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]>
