Re: [PATCH printk v7 31/35] printk: nbcon: Implement emergency sections
From: Petr Mladek
Date: Wed Aug 07 2024 - 08:52:37 EST
On Sun 2024-08-04 02:57:34, John Ogness wrote:
> From: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
>
> In emergency situations (something has gone wrong but the
> system continues to operate), usually important information
> (such as a backtrace) is generated via printk(). This
> information should be pushed out to the consoles ASAP.
>
> Add per-CPU emergency nesting tracking because an emergency
> can arise while in an emergency situation.
>
> Add functions to mark the beginning and end of emergency
> sections where the urgent messages are generated.
>
> Perform direct console flushing at the emergency priority if
> the current CPU is in an emergency state and it is safe to do
> so.
>
> Note that the emergency state is not system-wide. While one CPU
> is in an emergency state, another CPU may attempt to print
> console messages at normal priority.
>
> Also note that printk() already attempts to flush consoles in
> the caller context for normal priority. However, follow-up
> changes will introduce printing kthreads, in which case the
> normal priority printk() calls will offload to the kthreads.
>
> Co-developed-by: John Ogness <john.ogness@xxxxxxxxxxxxx>
> Signed-off-by: John Ogness <john.ogness@xxxxxxxxxxxxx>
> Signed-off-by: Thomas Gleixner (Intel) <tglx@xxxxxxxxxxxxx>
Reviewed-by: Petr Mladek <pmladek@xxxxxxxx>
Best Regards,
Petr