From: John Ogness <john.ogness@linutronix.de>
To: Petr Mladek <pmladek@suse.com>
Cc: Sergey Senozhatsky <senozhatsky@chromium.org>,
Steven Rostedt <rostedt@goodmis.org>,
Thomas Gleixner <tglx@linutronix.de>,
linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Jiri Slaby <jirislaby@kernel.org>,
"James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>,
Helge Deller <deller@gmx.de>,
Sven Schnelle <svens@stackframe.org>,
John David Anglin <dave.anglin@bell.net>,
"Eric W. Biederman" <ebiederm@xmission.com>,
Julia Lawall <Julia.Lawall@inria.fr>,
linux-parisc@vger.kernel.org,
Jason Wessel <jason.wessel@windriver.com>,
Daniel Thompson <daniel.thompson@linaro.org>,
Douglas Anderson <dianders@chromium.org>,
kgdb-bugreport@lists.sourceforge.net,
linux-serial@vger.kernel.org, Aaron Tomlin <atomlin@redhat.com>,
Luis Chamberlain <mcgrof@kernel.org>
Subject: [PATCH printk 00/18] preparation for threaded/atomic printing
Date: Sat, 24 Sep 2022 02:10:36 +0206 [thread overview]
Message-ID: <20220924000454.3319186-1-john.ogness@linutronix.de> (raw)
Hi,
This series is essentially the first 18 patches of tglx's RFC series
[0] with only minor changes in comments and commit messages. It's
purpose is to lay the groundwork for the upcoming threaded/atomic
console printing posted as the RFC series and demonstrated at
LPC2022 [1].
This series is interesting for mainline because it cleans up various
code and documentation quirks discovered while working on the new
console printing implementation.
Aside from cleanups, the main features introduced here are:
- Converts the console's DIY linked list implementation to hlist.
- Introduces a console list lock (mutex) so that readers (such as
/proc/consoles) can safely iterate the consoles without blocking
console printing.
- Adds SRCU support to the console list to prepare for safe console
list iterating from any context.
- Refactors buffer handling to prepare for per-console, per-cpu,
per-context atomic printing.
The series has the following parts:
Patches 1 - 5: Cleanups
Patches 6 - 12: Locking and list conversion
Patches 13 - 18: Improved output buffer handling to prepare for
code sharing
John Ogness
[0] https://lore.kernel.org/lkml/20220910221947.171557773@linutronix.de
[1] https://lore.kernel.org/lkml/875yheqh6v.fsf@jogness.linutronix.de
Thomas Gleixner (18):
printk: Make pr_flush() static
printk: Declare log_wait properly
printk: Remove write only variable nr_ext_console_drivers
printk: Remove bogus comment vs. boot consoles
printk: Mark __printk percpu data ready __ro_after_init
printk: Protect [un]register_console() with a mutex
printk: Convert console list walks for readers to list lock
parisc: Put console abuse into one place
serial: kgdboc: Lock console list in probe function
kgbd: Pretend that console list walk is safe
printk: Convert console_drivers list to hlist
printk: Prepare for SCRU console list protection
printk: Move buffer size defines
printk: Document struct console
printk: Add struct cons_text_buf
printk: Use struct cons_text_buf
printk: Use an output descriptor struct for emit
printk: Handle dropped message smarter
arch/parisc/include/asm/pdc.h | 2 +-
arch/parisc/kernel/pdc_cons.c | 55 +++--
arch/parisc/kernel/traps.c | 17 +-
drivers/tty/serial/kgdboc.c | 9 +-
drivers/tty/tty_io.c | 6 +-
fs/proc/consoles.c | 11 +-
fs/proc/kmsg.c | 2 -
include/linux/console.h | 197 +++++++++++++---
include/linux/printk.h | 9 -
include/linux/syslog.h | 3 +
kernel/debug/kdb/kdb_io.c | 7 +-
kernel/printk/printk.c | 414 ++++++++++++++++++++++------------
12 files changed, 499 insertions(+), 233 deletions(-)
base-commit: dc453dd89daacdc0da6d66234aa27e417df7edcd
--
2.30.2
next reply other threads:[~2022-09-24 0:05 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-09-24 0:04 John Ogness [this message]
2022-09-24 0:04 ` [PATCH printk 08/18] parisc: Put console abuse into one place John Ogness
2022-09-24 0:20 ` Steven Rostedt
2022-09-30 7:54 ` Petr Mladek
2022-09-24 0:04 ` [PATCH printk 11/18] printk: Convert console_drivers list to hlist John Ogness
2022-09-24 10:53 ` Sergey Senozhatsky
2022-09-24 17:20 ` Helge Deller
2022-09-25 0:43 ` Sergey Senozhatsky
2022-09-24 17:27 ` Helge Deller
2022-09-30 14:20 ` Petr Mladek
2022-09-30 16:53 ` Helge Deller
2022-09-30 19:46 ` John Ogness
2022-09-30 22:41 ` Helge Deller
2022-09-24 6:44 ` [PATCH printk 00/18] preparation for threaded/atomic printing Greg Kroah-Hartman
2022-09-25 15:23 ` John Ogness
2022-09-24 9:47 ` Sergey Senozhatsky
2022-09-29 16:33 ` Petr Mladek
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220924000454.3319186-1-john.ogness@linutronix.de \
--to=john.ogness@linutronix.de \
--cc=James.Bottomley@HansenPartnership.com \
--cc=Julia.Lawall@inria.fr \
--cc=atomlin@redhat.com \
--cc=daniel.thompson@linaro.org \
--cc=dave.anglin@bell.net \
--cc=deller@gmx.de \
--cc=dianders@chromium.org \
--cc=ebiederm@xmission.com \
--cc=gregkh@linuxfoundation.org \
--cc=jason.wessel@windriver.com \
--cc=jirislaby@kernel.org \
--cc=kgdb-bugreport@lists.sourceforge.net \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-parisc@vger.kernel.org \
--cc=linux-serial@vger.kernel.org \
--cc=mcgrof@kernel.org \
--cc=pmladek@suse.com \
--cc=rostedt@goodmis.org \
--cc=senozhatsky@chromium.org \
--cc=svens@stackframe.org \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).