[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87y2ztwiqh.fsf@linutronix.de>
Date: Fri, 16 Aug 2019 11:40:54 +0200
From: John Ogness <john.ogness@...utronix.de>
To: Dave Young <dyoung@...hat.com>
Cc: linux-kernel@...r.kernel.org,
Peter Zijlstra <peterz@...radead.org>,
Petr Mladek <pmladek@...e.com>,
Sergey Senozhatsky <sergey.senozhatsky.work@...il.com>,
Steven Rostedt <rostedt@...dmis.org>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Andrea Parri <andrea.parri@...rulasolutions.com>,
Thomas Gleixner <tglx@...utronix.de>,
Sergey Senozhatsky <sergey.senozhatsky@...il.com>,
Brendan Higgins <brendanhiggins@...gle.com>,
kexec@...ts.infradead.org, Simon Horman <horms@...ge.net.au>,
Kazuhito Hagio <k-hagio@...jp.nec.com>
Subject: Re: [RFC PATCH v4 9/9] printk: use a new ringbuffer implementation
On 2019-08-16, Dave Young <dyoung@...hat.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
Powered by blists - more mailing lists