From: Chris Down <chris@chrisdown.name>
To: Petr Mladek <pmladek@suse.com>, linux-kernel@vger.kernel.org
Cc: John Ogness <john.ogness@linutronix.de>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Sergey Senozhatsky <senozhatsky@chromium.org>,
Steven Rostedt <rostedt@goodmis.org>,
Geert Uytterhoeven <geert@linux-m68k.org>,
Tony Lindgren <tony.lindgren@linux.intel.com>,
kernel-team@fb.com
Subject: Re: [PATCH v6 02/11] printk: Use struct console for suppression and extended console state
Date: Wed, 20 Nov 2024 04:17:51 +0000 [thread overview]
Message-ID: <Zz1i78qGL02oF8Zl@chrisdown.name> (raw)
In-Reply-To: <84plmw527r.fsf@jogness.linutronix.de>
John Ogness writes:
>On 2024-10-28, Chris Down <chris@chrisdown.name> wrote:
>> In preparation for supporting per-console loglevels, modify
>> printk_get_next_message() to accept the console itself instead of
>> individual arguments that mimic its fields.
>
>Sorry, this is not allowed. printk_get_next_message() was created
>specifically to locklessly retrieve and format arbitrary records. It
>must never be tied to a console because it has nothing to do with
>consoles (as can bee seen with the devkmsg_read() hack you added in the
>function).
>
>I recommend adding an extra argument specifying the level.
>
>The extra argument would be redundant if may_suppress=false. So perhaps
>as an alternative change "bool may_suppress" to "u32 supress_level". The
>loglevels are only 3 bits. So you could easily define a special value
>NO_SUPPRESS to represent the may_suppress=false case.
>
>#define NO_SUPPRESS BIT(31)
>
>bool printk_get_next_message(struct printk_message *pmsg, u64 seq,
> bool is_extended, u32 suppress_level);
>
>Then in devkmsg_read():
>
>printk_get_next_message(&pmsg, atomic64_read(&user->seq), true, NO_SUPRRESS)
Petr, what do you think about this? I remember when we discussed this before we
talked about either determining state via `struct console` (which seems to turn
out not to be feasible) or passing another argument.
Do you prefer to have another argument or do the bit dance?
Personally I prefer the simpler solution with more arguments instead of bit
stuffing if we have to go this way, but I'm up for whichever sounds good to
you.
next prev parent reply other threads:[~2024-11-20 4:17 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-28 16:45 [PATCH v6 00/11] printk: console: Per-console loglevels Chris Down
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 [this message]
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=Zz1i78qGL02oF8Zl@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
Powered by JetHome