[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <ZUPM1ZD6Q3mNOPaS@alley>
Date: Thu, 2 Nov 2023 17:22:45 +0100
From: Petr Mladek <pmladek@...e.com>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: Sergey Senozhatsky <senozhatsky@...omium.org>,
Steven Rostedt <rostedt@...dmis.org>,
John Ogness <john.ogness@...utronix.de>,
Andy Shevchenko <andriy.shevchenko@...ux.intel.com>,
Rasmus Villemoes <linux@...musvillemoes.dk>,
Sebastian Andrzej Siewior <bigeasy@...utronix.de>,
Thomas Gleixner <tglx@...utronix.de>, Jan Kara <jack@...e.cz>,
Peter Zijlstra <peterz@...radead.org>,
linux-kernel@...r.kernel.org
Subject: [GIT PULL] printk for 6.7
Hi Linus,
please pull the latest printk changes from
git://git.kernel.org/pub/scm/linux/kernel/git/printk/linux.git tags/printk-for-6.7
================================
- Another preparation step for introducing printk kthreads. The main piece
is a per-console lock with several features:
- Support three priorities: normal, emergency, and panic. They will be
defined by a context where the lock is taken. A context with a higher
priority is allowed to take over the lock from a context with a lower
one.
The plan is to use the emergency context for Oops and WARN() messages,
and also by watchdogs.
The panic() context will be used on panic CPU.
- The owner might enter/exit regions where it is not safe to take over
the lock. It allows the take over the lock a safe way in the middle
of a message.
For example, serial drivers emit characters one by one. And
the serial port is in a safe state in between.
Only the final console_flush_in_panic() will be allowed to take over
the lock even in the unsafe state (last chance, pray, and hope).
- A higher priority context might busy wait with a timeout. The current
owner is informed about the waiter and releases the lock on exit from
the unsafe state.
- The new lock is safe even in atomic contexts, including NMI.
Another change is a safe manipulation of per-console sequence number
counter under the new lock.
- simple_strntoull() micro-optimization
- Reduce pr_flush() pooling time.
- Calm down false warning about possible buffer invalid access to
console buffers when CONFIG_PRINTK is disabled.
----------------------------------------------------------------
Alexey Dobriyan (1):
vsprintf: uninline simple_strntoull(), reorder arguments
John Ogness (3):
printk: Make static printk buffers available to nbcon
printk: fix illegal pbufs access for !CONFIG_PRINTK
printk: flush consoles before checking progress
Li kunyu (1):
printk: printk: Remove unnecessary statements'len = 0;'
Petr Mladek (5):
Merge branch 'rework/misc-cleanups' into for-linus
printk: Reduce pr_flush() pooling time
Merge branch 'for-6.7' into for-linus
Merge branch 'rework/misc-cleanups' into for-linus
Merge branch 'rework/nbcon-base' into for-linus
Thomas Gleixner (7):
printk: Add non-BKL (nbcon) console basic infrastructure
printk: nbcon: Add acquire/release logic
printk: nbcon: Add buffer management
printk: nbcon: Add ownership state functions
printk: nbcon: Add sequence handling
printk: nbcon: Add emit function and callback function for atomic printing
printk: nbcon: Allow drivers to mark unsafe regions and check state
include/linux/console.h | 129 ++++++
kernel/printk/Makefile | 2 +-
kernel/printk/internal.h | 31 ++
kernel/printk/nbcon.c | 1029 ++++++++++++++++++++++++++++++++++++++++++++++
kernel/printk/printk.c | 158 ++++---
lib/vsprintf.c | 25 +-
6 files changed, 1295 insertions(+), 79 deletions(-)
create mode 100644 kernel/printk/nbcon.c
Powered by blists - more mailing lists