[PATCH next v3 0/3] printk: remove logbuf_lock protection of ringbuffer

From: John Ogness
Date: Mon Dec 07 2020 - 17:21:05 EST


Hello,

Here is a v3 of the series to remove logbuf_lock. v2 is
here[0]. Rather than completely removing logbuf_lock, this
version only removes logbuf_lock usage protecting the
ringbuffer. I have tried to keep the changes minimal so that
we can feel comfortable for the upcoming 5.11 merge window.

Although small, this series is significant because it allows
printk callers direct lockless access to the ringbuffer and
it replaces the use of a temporary static sprint buffer with
sprint'ing directly to the reserved ringbuffer data block.

The other changes from v2 (recursion limiting, introduction
of syslog_lock, using clear_seq as seqcount_latch, and full
removal of logbuf_lock) will be included in a later series,
which may or may not make the 5.11 merge window.

This series is based on next-20201207.

John Ogness

[0] https://lkml.kernel.org/r/20201201205341.3871-1-john.ogness@xxxxxxxxxxxxx

John Ogness (3):
printk: inline log_output(),log_store() in vprintk_store()
printk: define CONSOLE_LOG_MAX in printk.h
printk: remove logbuf_lock protection for ringbuffer

include/linux/printk.h | 1 +
kernel/printk/printk.c | 248 +++++++++++++++++++++---------------
kernel/printk/printk_safe.c | 18 +--
3 files changed, 149 insertions(+), 118 deletions(-)

--
2.20.1