[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87im7l2lcr.fsf@jogness.linutronix.de>
Date: Mon, 25 Jan 2021 14:38:20 +0106
From: John Ogness <john.ogness@...utronix.de>
To: "J. Avila" <elavila@...gle.com>
Cc: Peter Zijlstra <peterz@...radead.org>,
Petr Mladek <pmladek@...e.com>,
Sergey Senozhatsky <sergey.senozhatsky.work@...il.com>,
Sergey Senozhatsky <sergey.senozhatsky@...il.com>,
Steven Rostedt <rostedt@...dmis.org>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Andrea Parri <parri.andrea@...il.com>,
Thomas Gleixner <tglx@...utronix.de>,
Paul McKenney <paulmck@...nel.org>,
Saravana Kannan <saravanak@...gle.com>,
kexec@...ts.infradead.org, linux-kernel@...r.kernel.org
Subject: Re: Issue in dmesg time with lockless ring buffer
On 2021-01-22, "J. Avila" <elavila@...gle.com> wrote:
> When doing some internal testing on a 5.10.4 kernel, we found that the
> time taken for dmesg seemed to increase from the order of milliseconds
> to the order of seconds when the dmesg size approached the ~1.2MB
> limit. After doing some digging, we found that by reverting all of the
> patches in printk/ up to and including
> 896fbe20b4e2333fb55cc9b9b783ebcc49eee7c7 ("use the lockless
> ringbuffer"), we were able to once more see normal dmesg times.
>
> This kernel had no meaningful diffs in the printk/ dir when compared
> to Linus' tree. This behavior was consistently reproducible using the
> following steps:
>
> 1) In one shell, run "time dmesg > /dev/null"
> 2) In another, constantly write to /dev/kmsg
>
> Within ~5 minutes, we saw that dmesg times increased to 1 second, only
> increasing further from there. Is this a known issue?
The last couple days I have tried to reproduce this issue with no
success.
Is your dmesg using /dev/kmsg or syslog() to read the buffer?
Are there any syslog daemons or systemd running? Perhaps you can run
your test within an initrd to see if this effect is still visible?
John Ogness
Powered by blists - more mailing lists