Hi, Here is the 17th version of improvement patches for making persistent ring buffers robust to failures. The previous version is here:
https://lore.kernel.org/all/177547105523.259641.14385891517704197263.st...@mhiramat.tok.corp.google.com/ This version fixes some review comments from Sashiko[1], which includes: [2/5] Fix to use rb_page_size() of rewound pages for entry_bytes. [3/5] - Fix to verify head_page at first before using its timestamp. - Reset timestamp if the page is invalid. [4/5] - In rb_test_inject_invalid_pages(), changed entry_bytes and idx to unsigned long - Added NULL checks for cpu_buffer and meta. - In allocate_trace_buffer(), added a NULL check for tr->name before comparing it with strcmp. [5/5] Added NULL check for dpage in rbm_show in ring_buffer.c. [1] https://sashiko.dev/#/patchset/177552432201.853249.5125045538812833325.stgit%40mhiramat.tok.corp.google.com Thank you, Masami Hiramatsu (Google) (5): 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 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 | 275 ++++++++++++++++++++++++++-------- kernel/trace/trace.c | 4 26 files changed, 290 insertions(+), 67 deletions(-) create mode 100644 arch/arm64/include/asm/ring_buffer.h create mode 100644 include/asm-generic/ring_buffer.h base-commit: 6170922f137231b98fc568571befef63e1edff3f -- Masami Hiramatsu (Google) <[email protected]>
