2023-11-02 16:23:15

by Petr Mladek

[permalink] [raw]
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


2023-11-02 23:02:51

by Thomas Gleixner

[permalink] [raw]
Subject: Re: [GIT PULL] printk for 6.7

On Thu, Nov 02 2023 at 17:22, Petr Mladek wrote:
> 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

TBH, I'm truly surprised to still see my name there as the author.

I definitely authored the early revisions and was influential on the
design, but comparing the final result to my initial hacked up POC
patches does not really reflect that.

It's probably too late to correct that, but I nevertheless want to make
it clear that:

John Ogness and Peter Mladek have been the ones who sorted out the
details and really should be those who get the credit.

Kodos to John and Peter for making this work!

Thanks,

Thomas

2023-11-03 19:53:43

by pr-tracker-bot

[permalink] [raw]
Subject: Re: [GIT PULL] printk for 6.7

The pull request you sent on Thu, 2 Nov 2023 17:22:45 +0100:

> git://git.kernel.org/pub/scm/linux/kernel/git/printk/linux.git tags/printk-for-6.7

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/2a80532c0745e140852e6b579bbe8371332bb45d

Thank you!

--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/prtracker.html