All of lore.kernel.org
 help / color / mirror / Atom feed
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,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Subject: [PATCH printk v4 0/8] provide nbcon base
Date: Fri,  8 Sep 2023 20:56:00 +0206	[thread overview]
Message-ID: <20230908185008.468566-1-john.ogness@linutronix.de> (raw)

Hi,

This is v4 of a series to introduce the new non-BKL (nbcon)
consoles. v3 is here [0]. For information about the motivation
of the atomic consoles, please read the cover letter of v1 [1].

This series focuses on providing the base functionality of the
nbcon consoles. In particular, it implements the ownership and
priority semantics for nbcon consoles. This series does _not_
include threaded printing, atomic printing regions, or nbcon
drivers. Those features will be added in separate follow-up
series.

The changes since v3:

- Remove @req_tag from nbcon_state. Comments in
  nbcon_waiter_matches() updated to explain why @req_prio is
  enough.

- Rename nbcon_cleanup() to nbcon_free().

- In nbcon_seq_try_update(), expand sequence when cmpxchg
  fails.

- Add macros nbcon_context_enter_unsafe() and
  nbcon_context_exit_unsafe() to replace
  nbcon_context_update_unsafe() usage.

- Rename nbcon_context_update_unsafe() to
  __nbcon_context_update_unsafe() since it should not be called
  directly. Use the new macros instead.

- Put printk_get_next_message() and console_prepend_dropped()
  within an unsafe region to avoid NORMAL and EMERGENCY
  priorities clobbering buffers.

- Make the global legacy @pbufs (from
  within console_emit_next_record()) available to nbcon.c as
  well, renaming it to @printk_shared_pbufs.

- For nbcon boot consoles, use @printk_shared_pbufs as its
  printk buffers. This works because boot console printing will
  be synchronized on the console_lock.

- Fix kerneldoc for nbcon_context_acquire_hostile().

- Update comments as suggested by pmladek.

John Ogness

[0] https://lore.kernel.org/lkml/20230903150539.245076-1-john.ogness@linutronix.de

[1] https://lore.kernel.org/lkml/20230302195618.156940-6-john.ogness@linutronix.de

John Ogness (1):
  printk: Make static printk buffers available to nbcon

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  | 132 ++++++
 kernel/printk/Makefile   |   2 +-
 kernel/printk/internal.h |  31 ++
 kernel/printk/nbcon.c    | 948 +++++++++++++++++++++++++++++++++++++++
 kernel/printk/printk.c   |  73 ++-
 5 files changed, 1163 insertions(+), 23 deletions(-)
 create mode 100644 kernel/printk/nbcon.c


base-commit: cb65d08d735e00cc55ad7700a82a453bb88c93a3
-- 
2.39.2


             reply	other threads:[~2023-09-08 18:52 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-09-08 18:50 John Ogness [this message]
2023-09-08 18:50 ` [PATCH printk v4 1/8] printk: Add non-BKL (nbcon) console basic infrastructure John Ogness
2023-09-08 18:50 ` [PATCH printk v4 2/8] printk: nbcon: Add acquire/release logic John Ogness
2023-09-14 13:16   ` Petr Mladek
2023-09-14 13:23     ` [PATCH v4 2+/8] " Petr Mladek
2023-09-15 17:01       ` John Ogness
2023-09-08 18:50 ` [PATCH printk v4 3/8] printk: Make static printk buffers available to nbcon John Ogness
2023-09-14 13:29   ` Petr Mladek
2023-09-08 18:50 ` [PATCH printk v4 4/8] printk: nbcon: Add buffer management John Ogness
2023-09-14 14:55   ` Petr Mladek
2023-09-08 18:50 ` [PATCH printk v4 5/8] printk: nbcon: Add ownership state functions John Ogness
2023-09-14 15:38   ` Petr Mladek
2023-09-08 18:50 ` [PATCH printk v4 6/8] printk: nbcon: Add sequence handling John Ogness
2023-09-14 16:02   ` Petr Mladek
2023-09-08 18:50 ` [PATCH printk v4 7/8] printk: nbcon: Add emit function and callback function for atomic printing John Ogness
2023-09-15  8:21   ` Petr Mladek
2023-09-08 18:50 ` [PATCH printk v4 8/8] printk: nbcon: Allow drivers to mark unsafe regions and check state John Ogness
2023-09-15  8:38   ` 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=20230908185008.468566-1-john.ogness@linutronix.de \
    --to=john.ogness@linutronix.de \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pmladek@suse.com \
    --cc=rostedt@goodmis.org \
    --cc=senozhatsky@chromium.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.