From: Chris Down <chris@chrisdown.name>
To: Petr Mladek <pmladek@suse.com>
Cc: linux-kernel@vger.kernel.org,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Sergey Senozhatsky <senozhatsky@chromium.org>,
Steven Rostedt <rostedt@goodmis.org>,
John Ogness <john.ogness@linutronix.de>,
Geert Uytterhoeven <geert@linux-m68k.org>,
Tony Lindgren <tony.lindgren@linux.intel.com>,
kernel-team@fb.com
Subject: [PATCH v6 00/11] printk: console: Per-console loglevels
Date: Mon, 28 Oct 2024 16:45:27 +0000 [thread overview]
Message-ID: <cover.1730133890.git.chris@chrisdown.name> (raw)
v6:
- Add .rst suffix to documentation in do_syslog
- Add loglevel table to per-console-loglevel.rst and serial-console.rst
- Add newlines between multiline bullets in per-console-loglevel.rst
- Make effective_loglevel doc more clear
- Remove ignore_per_console_loglevel doc, it's not shown in sysfs now
- Use READ_ONCE/WRITE_ONCE for con->level
- Ignore/restore per console loglevel in sysrq
- Add new fields to comment above struct console
- Remove now unused flags field on console_cmdline
- Remove WARN_ON_ONCE(!con) in effective loglevel checks
- Avoid underflow in find_and_remove_console_option if val_buf_size == 0
- Better error message on oversize in find_and_remove_loglevel_option
- Reject if clamped in find_and_remove_loglevel_option
- Clarify level setting logic in __add_preferred_console
- Move console emission check to printk_delay itself
- Use console_src_read_flags in enabled_show
- Infer if extended from con in printk_get_next_message, don't pass args
- Remove misleading comment about early consoles in console_init
- Use a goto in loglevel_store to avoid setting level in multiple places
- Mention only @flags and @level are valid in printk_get_next_message
- Use LOGLEVEL_DEBUG for max clamp in sysctls
- Update for class_create interface changes
- Move sysctl functionality out to sysfs.c
- Purge default_console_loglevel
- Update sysctl docs for kernel.printk deprecation
v5:
- Fix syntax in boot_delay
v4:
- Change base to Linus' master
- Use SRCU iterators for console walks
- Override per-console loglevels on magic sysrq
- Fix htmldocs
- Fix mistaken __user annotation in sysctl callbacks
- Consistently use indexed names (eg. ttyS0 instead of ttyS)
- Remove "The loglevel for a console can be set in many places" comment
- Remove CON_LOGLEVEL flag and infer based on >0
- Open code our dev_get_drvdata console stashing
- Split out console_effective_loglevel functions per Petr's suggestion
- Make boot_delay_msec/printk_delay check if it would be emitted
- Simplify warning on SYSLOG_ACTION_CONSOLE_LEVEL
- Save/restore ignore_per_console_loglevel on syslog console actions
- Unify min/max level checks across sysfs/proc/syslog
- Add find_and_remove_console_option to avoid affecting io/mmio options
v3:
- Update to work with John's kthread patches
- Remove force_console_loglevel, now we only have global and local levels
- Remove minimum_console_loglevel control and document how to change it
- The minimum loglevel is now only honoured on setting global/local level
- Add ignore_per_console_loglevel
- Return -EINVAL if trying to set below minimum console level
- Add parser for named console= options
- Fix docs around ignore_loglevel: it can be changed at runtime
- Fix ordering in "in order of authority" docs
- Remove duplicated default_console_loglevel doc
- Only warn once on syslog() use
v2:
- Dynamically allocate struct device*
- Document sysfs attributes in Documentation/ABI/
- Use sysfs_emit() instead of sprintf() in dev sysfs files
- Remove WARN_ON() for device_add/IS_ERR(console_class)
- Remove "soon" comment for kernel.printk
- Fix !CONFIG_PRINTK build
- Fix device_unregister() NULL dereference if called before class setup
- Add new documentation to MAINTAINERS
Chris Down (11):
printk: Avoid delaying messages that aren't solicited by any console
printk: Use struct console for suppression and extended console state
printk: console: Implement core per-console loglevel infrastructure
printk: Support toggling per-console loglevel via syslog() and cmdline
MAINTAINERS: Mark printk-basics.rst as owned by printk subsystem
printk: console: Introduce sysfs interface for per-console loglevels
printk: Constrain hardware-addressed console checks to name position
printk: Support setting initial console loglevel via console= on
cmdline
printk: Add sysctl interface to set global loglevels
printk: Deprecate the kernel.printk sysctl interface
printk: Purge default_console_loglevel
Documentation/ABI/testing/sysfs-class-console | 47 +++
Documentation/admin-guide/index.rst | 1 +
.../admin-guide/kernel-parameters.txt | 24 +-
.../admin-guide/per-console-loglevel.rst | 111 ++++++++
Documentation/admin-guide/serial-console.rst | 37 ++-
Documentation/admin-guide/sysctl/kernel.rst | 25 +-
Documentation/core-api/printk-basics.rst | 35 +--
Documentation/networking/netconsole.rst | 17 ++
MAINTAINERS | 3 +
drivers/tty/sysrq.c | 20 ++
include/linux/console.h | 5 +
include/linux/printk.h | 10 +-
kernel/printk/Makefile | 2 +-
kernel/printk/console_cmdline.h | 1 +
kernel/printk/internal.h | 19 +-
kernel/printk/nbcon.c | 2 +-
kernel/printk/printk.c | 267 ++++++++++++++++--
kernel/printk/sysctl.c | 56 +++-
kernel/printk/sysfs.c | 178 ++++++++++++
19 files changed, 795 insertions(+), 65 deletions(-)
create mode 100644 Documentation/ABI/testing/sysfs-class-console
create mode 100644 Documentation/admin-guide/per-console-loglevel.rst
create mode 100644 kernel/printk/sysfs.c
base-commit: 81983758430957d9a5cb3333fe324fd70cf63e7e
--
2.46.0
next reply other threads:[~2024-10-28 16:45 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-28 16:45 Chris Down [this message]
2024-10-28 16:45 ` [PATCH v6 01/11] printk: Avoid delaying messages that aren't solicited by any console Chris Down
2024-10-28 16:45 ` [PATCH v6 02/11] printk: Use struct console for suppression and extended console state Chris Down
2024-11-08 9:57 ` Petr Mladek
2024-11-15 8:30 ` John Ogness
2024-11-20 4:17 ` Chris Down
2024-11-20 12:03 ` Petr Mladek
2024-10-28 16:45 ` [PATCH v6 03/11] printk: console: Implement core per-console loglevel infrastructure Chris Down
2024-11-08 16:10 ` Petr Mladek
2024-11-12 10:25 ` Petr Mladek
2024-11-14 16:51 ` Petr Mladek
2024-10-28 16:45 ` [PATCH v6 04/11] printk: Support toggling per-console loglevel via syslog() and cmdline Chris Down
2024-11-12 10:56 ` Conflict with FORCE_CON: " Petr Mladek
2024-11-14 19:28 ` Chris Down
2024-11-15 11:41 ` Petr Mladek
2024-11-12 12:59 ` Petr Mladek
2024-11-14 17:14 ` syslog warning: was: " Petr Mladek
2024-11-14 18:53 ` Chris Down
2024-11-15 11:36 ` Petr Mladek
2024-10-28 16:45 ` [PATCH v6 05/11] MAINTAINERS: Mark printk-basics.rst as owned by printk subsystem Chris Down
2024-10-28 23:26 ` Thomas Gleixner
2024-10-28 23:52 ` Chris Down
2024-11-12 13:00 ` Petr Mladek
2024-10-28 16:45 ` [PATCH v6 06/11] printk: console: Introduce sysfs interface for per-console loglevels Chris Down
2024-11-13 15:58 ` Petr Mladek
2024-11-13 15:59 ` register_device: was: " Petr Mladek
2024-11-14 18:41 ` Chris Down
2024-11-15 4:08 ` Greg Kroah-Hartman
2024-11-18 15:19 ` Petr Mladek
2024-11-15 4:20 ` Greg Kroah-Hartman
2024-11-15 14:09 ` Petr Mladek
2024-11-20 5:01 ` Chris Down
2024-11-20 8:43 ` John Ogness
2024-11-20 14:54 ` Petr Mladek
2024-11-20 15:29 ` John Ogness
2024-11-20 14:45 ` Petr Mladek
2025-01-10 10:27 ` Joel Granados
2025-01-15 10:31 ` Petr Mladek
2024-10-28 16:45 ` [PATCH v6 07/11] printk: Constrain hardware-addressed console checks to name position Chris Down
2024-10-29 8:26 ` Tony Lindgren
2024-11-13 16:11 ` Petr Mladek
2024-10-28 16:45 ` [PATCH v6 08/11] printk: Support setting initial console loglevel via console= on cmdline Chris Down
2024-11-14 9:11 ` Petr Mladek
2024-10-28 16:45 ` [PATCH v6 09/11] printk: Add sysctl interface to set global loglevels Chris Down
2024-11-14 16:21 ` Petr Mladek
2025-01-10 10:09 ` Joel Granados
2024-10-28 16:45 ` [PATCH v6 10/11] printk: Deprecate the kernel.printk sysctl interface Chris Down
2024-11-14 16:25 ` Petr Mladek
2024-10-28 16:46 ` [PATCH v6 11/11] printk: Purge default_console_loglevel Chris Down
2024-11-14 16: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=cover.1730133890.git.chris@chrisdown.name \
--to=chris@chrisdown.name \
--cc=geert@linux-m68k.org \
--cc=gregkh@linuxfoundation.org \
--cc=john.ogness@linutronix.de \
--cc=kernel-team@fb.com \
--cc=linux-kernel@vger.kernel.org \
--cc=pmladek@suse.com \
--cc=rostedt@goodmis.org \
--cc=senozhatsky@chromium.org \
--cc=tony.lindgren@linux.intel.com \
/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).