On Tue 2024-11-05 16:45:08, Marcos Paulo de Souza wrote: > Introduce FORCE_CON flag to printk. The new flag will make it possible to > create a context where printk messages will never be suppressed. > > This mechanism will be used in the next patch to create a force_con > context on sysrq handling, removing an existing workaround on the > loglevel global variable. The workaround existed to make sure that sysrq > header messages were sent to all consoles, but this doesn't work with > deferred messages because the loglevel might be restored to its original > value before a console flushes the messages. > > Signed-off-by: Marcos Paulo de Souza <mpdesouza@xxxxxxxx> Looks good: Reviewed-by: Petr Mladek <pmladek@xxxxxxxx> Just a nit below. > --- a/kernel/printk/printk.c > +++ b/kernel/printk/printk.c > @@ -1319,11 +1319,11 @@ static void boot_delay_msec(int level) > { > unsigned long long k; > unsigned long timeout; > + bool suppress = !is_printk_force_console() && > + suppress_message_printing(level); > > - if ((boot_delay == 0 || system_state >= SYSTEM_RUNNING) > - || suppress_message_printing(level)) { > + if ((boot_delay == 0 || system_state >= SYSTEM_RUNNING) || suppress) > return; These spaghetti conditions are hard to follow. I would personally prefer: if ((boot_delay == 0) return; if (system_state >= SYSTEM_RUNNING) return; if (suppress_message_printing(level) && !is_printk_force_console()) return; But I do not resist on it. Best Regards, Petr