Re: [RFC PATCH v4 9/9] printk: use a new ringbuffer implementation
From: Dave Young
Date: Fri Aug 16 2019 - 01:54:34 EST
On 08/16/19 at 01:46pm, Dave Young wrote:
> John, can you cc kexec list for your later series?
> On 08/08/19 at 12:32am, John Ogness wrote:
> > This is a major change because the API (and underlying workings)
> > of the new ringbuffer are completely different than the previous
> > ringbuffer. Since there are several components of the printk
> > infrastructure that use the ringbuffer API (console, /dev/kmsg,
> > syslog, kmsg_dump), there are quite a few changes throughout the
> > printk implementation.
> > This is also a conservative change because it continues to use the
> > logbuf_lock raw spinlock even though the new ringbuffer is lockless.
> > The externally visible changes are:
> > 1. The exported vmcore info has changed:
> > - VMCOREINFO_SYMBOL(log_buf);
> > - VMCOREINFO_SYMBOL(log_buf_len);
> > - VMCOREINFO_SYMBOL(log_first_idx);
> > - VMCOREINFO_SYMBOL(clear_idx);
> > - VMCOREINFO_SYMBOL(log_next_idx);
> > + VMCOREINFO_SYMBOL(printk_rb_static);
> > + VMCOREINFO_SYMBOL(printk_rb_dynamic);
> I assumed this needs some userspace work in kexec, how did you test
> makedumpfile should need changes to dump the kernel log.
> Also kexec-tools includes a vmcore-dmesg.c to extrace dmesg from
> > 2. For the CONFIG_PPC_POWERNV powerpc platform, kernel log buffer
> > registration is no longer available because there is no longer
> > a single contigous block of memory to represent all of the
> > ringbuffer.
> > Signed-off-by: John Ogness <john.ogness@xxxxxxxxxxxxx>
> > ---
> > arch/powerpc/platforms/powernv/opal.c | 22 +-
> > include/linux/kmsg_dump.h | 6 +-
> > include/linux/printk.h | 12 -
> > kernel/printk/printk.c | 745 ++++++++++++++------------
> > kernel/printk/ringbuffer.h | 24 +
> > 5 files changed, 415 insertions(+), 394 deletions(-)
Seems kexec list has 40k limitation for msg body. Simon and David, maybe it is