[PATCH V6] panic: Move panic_print before kmsg dumpers
Sergey Senozhatsky
senozhatsky at chromium.org
Mon Feb 21 17:45:29 PST 2022
On (22/02/14 11:13), Guilherme G. Piccoli wrote:
> -static void panic_print_sys_info(void)
> +static void panic_print_sys_info(bool console_flush)
> {
> - if (panic_print & PANIC_PRINT_ALL_PRINTK_MSG)
> - console_flush_on_panic(CONSOLE_REPLAY_ALL);
> + if (console_flush) {
> + if (panic_print & PANIC_PRINT_ALL_PRINTK_MSG)
> + console_flush_on_panic(CONSOLE_REPLAY_ALL);
> + return;
> + }
Yeah, if Petr is fine with that then I'm OK. But at the same time,
we have `panic_print' which is a bit mask of what panic_print_sys_info()
should do. And now we also have a boolean `console_flush` flag that tells
panic_print_sys_info() to ignore some (one as of now) bits of `panic_print'.
So _maybe_ panic_print_sys_info() can just accept panic_print as
its parameter and then we can do something like this (as an example)
panic_print_sys_info(panic_print & ~PANIC_PRINT_ALL_PRINTK_MSG);
> if (panic_print & PANIC_PRINT_ALL_CPU_BT)
> trigger_all_cpu_backtrace();
> @@ -286,6 +289,8 @@ void panic(const char *fmt, ...)
> */
> atomic_notifier_call_chain(&panic_notifier_list, 0, buf);
[..]
> + panic_print_sys_info(false);
Merely because `panic_print_sys_info(false);` doesn't tell much to a reader.
Like what is print sys info false?
Or did you already discuss this?
More information about the kexec
mailing list