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.ogn...@linutronix.de 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