[PATCH printk 0/3] printk: move dictionaries to meta data

From: John Ogness
Date: Thu Sep 17 2020 - 09:21:08 EST


Hello,

Here is a series to move dictionary properties (currently only
SUBSYSTEM and DEVICE exist) into the meta data of a record,
thus eliminating the need for the dict ring. This change
affects how the dictionaries are stored, but does not affect
how they are presented to userspace.

The main purpose of the change is to address concerns [0]
about the reliability of dictionary properties as well as
allowing to efficiently expand the type and number of
properties available [1].

This series is based heavily on the proof of concept [2] from
Petr Mladek. (Petr, feel free to add Co-developed-by tags.)

The series is based on the printk-rework branch of the printk git
tree:

f5f022e53b87 ("printk: reimplement log_cont using record extension")

John Ogness

[0] https://lkml.kernel.org/r/20200904151336.GC20558@alley
[1] https://lkml.kernel.org/r/008801d684f9$43e1c140$cba543c0$@samsung.com
[2] https://lkml.kernel.org/r/20200911095035.GI3864@alley

John Ogness (3):
printk: move printk_info into separate array
printk: move dictionary keys to dev_printk_info
printk: remove dict ring

Documentation/admin-guide/kdump/gdbmacros.txt | 73 ++---
drivers/base/core.c | 46 +--
include/linux/dev_printk.h | 8 +
include/linux/printk.h | 6 +-
kernel/printk/internal.h | 4 +-
kernel/printk/printk.c | 209 ++++++-------
kernel/printk/printk_ringbuffer.c | 292 ++++++++----------
kernel/printk/printk_ringbuffer.h | 95 ++----
kernel/printk/printk_safe.c | 2 +-
scripts/gdb/linux/dmesg.py | 16 +-
10 files changed, 336 insertions(+), 415 deletions(-)

--
2.20.1