Messages in this thread | | | From | John Ogness <> | Subject | Re: [RFC PATCH v4 9/9] printk: use a new ringbuffer implementation | Date | Fri, 16 Aug 2019 11:40:54 +0200 |
| |
On 2019-08-16, Dave Young <dyoung@redhat.com> wrote: > John, can you cc kexec list for your later series?
Sure.
> 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 > them?
I did not test any direct userspace access to the ringbuffer structures.
> makedumpfile should need changes to dump the kernel log. > > Also kexec-tools includes a vmcore-dmesg.c to extrace dmesg from > /proc/vmcore.
Thanks for the heads up. I'll take a look at it. The code changes should be straight forward. I expect there will need to be backwards compatibility. Perhaps it would check first for "printk_rb_*" then fallback to "log_*"?
John Ogness
| |