public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [GIT PULL] printk for 6.7
@ 2023-11-02 16:22 Petr Mladek
  2023-11-02 23:02 ` Thomas Gleixner
  2023-11-03 19:53 ` pr-tracker-bot
  0 siblings, 2 replies; 3+ messages in thread
From: Petr Mladek @ 2023-11-02 16:22 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Sergey Senozhatsky, Steven Rostedt, John Ogness, Andy Shevchenko,
	Rasmus Villemoes, Sebastian Andrzej Siewior, Thomas Gleixner,
	Jan Kara, Peter Zijlstra, linux-kernel

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

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2023-11-03 19:53 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-11-02 16:22 [GIT PULL] printk for 6.7 Petr Mladek
2023-11-02 23:02 ` Thomas Gleixner
2023-11-03 19:53 ` pr-tracker-bot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox