Hi, Here is the 10th version of improvement patches for making persistent ring buffers robust to failures. The previous version is here:
https://lore.kernel.org/all/177319273059.130641.10882692460536780093.st...@mhiramat.tok.corp.google.com/ In this version, I added a new patch to skip invalid page in rewinding process[4/5], add entry_bytes check in the test [5/5] and do not compile test code when CONFIG_RING_BUFFER_PERSISTENT_SELFTEST=n[5/5]. Thank you, --- Masami Hiramatsu (Google) (5): ring-buffer: Fix to update per-subbuf entries of persistent ring buffer 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 selftest 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 | 15 ++ kernel/trace/ring_buffer.c | 226 ++++++++++++++++++++++++++-------- kernel/trace/trace.c | 4 + 26 files changed, 233 insertions(+), 56 deletions(-) create mode 100644 arch/arm64/include/asm/ring_buffer.h create mode 100644 include/asm-generic/ring_buffer.h -- Masami Hiramatsu (Google) <[email protected]>
