[PATCH v5 0/4] printk: replace ringbuffer
John Ogness
john.ogness at linutronix.de
Thu Jul 9 09:23:40 EDT 2020
Hello,
Here is a v5 for the first series to rework the printk
subsystem. The v4 is here [0]. This first series
only replaces the existing ringbuffer implementation. No locking
is removed. The semantics/behavior of printk are kept the same
except for a minor optimization that is reverted (patch 3).
RFC patches for various userspace tools to dump the kernel log
are available: crash [1], makedumpfile [2], kexec-tools [3].
This series is based on v5.8-rc4.
The list of changes since v4:
printk_ringbuffer
=================
- added new prb_first_valid_seq() for readers to retrieve the
oldest valid sequence number
- prb_first_seq(): now static
printk.c
========
- devkmsg_read(): fixed returning EPIPE on buffer wrap [4]
- setup_log_buf(): fixed printk conversion specifier [5]
- replace all prb_first_seq() usage with the new
prb_first_valid_seq() (because that is what the readers are
actually interested in)
[0] https://lkml.kernel.org/r/20200707145932.8752-1-john.ogness@linutronix.de
[1] https://github.com/Linutronix/crash.git (printk branch)
[2] https://github.com/Linutronix/makedumpfile.git (printk branch)
[3] https://github.com/Linutronix/kexec-tools.git (printk branch)
[4] https://lkml.kernel.org/r/87zh89kkek.fsf@jogness.linutronix.de
[5] https://lkml.kernel.org/r/87r1tmcfhf.fsf@jogness.linutronix.de
John Ogness (4):
crash: add VMCOREINFO macro to define offset in a struct declared by
typedef
printk: add lockless ringbuffer
Revert "printk: lock/unlock console only for new logbuf entries"
printk: use the lockless ringbuffer
include/linux/crash_core.h | 3 +
kernel/printk/Makefile | 1 +
kernel/printk/printk.c | 950 ++++++++--------
kernel/printk/printk_ringbuffer.c | 1687 +++++++++++++++++++++++++++++
kernel/printk/printk_ringbuffer.h | 399 +++++++
5 files changed, 2586 insertions(+), 454 deletions(-)
create mode 100644 kernel/printk/printk_ringbuffer.c
create mode 100644 kernel/printk/printk_ringbuffer.h
--
2.20.1
More information about the kexec
mailing list