Messages in this thread | | | Date | Fri, 14 Jul 2023 13:00:49 +0900 | From | Sergey Senozhatsky <> | Subject | Re: [PATCH printk v2 2/5] printk: Add NMI safety to console_flush_on_panic() and console_unblank() |
| |
On (23/07/13 16:43), Petr Mladek wrote: > > Simple removal of console_trylock() in console_flush_on_panic() would > cause that other CPUs might still be able to take it and race. > The problem is avoided by checking panic_in_progress() in console_lock() > and console_trylock(). They will never succeed on non-panic CPUs. >
In theory, we also can have non-panic CPU in console_flush_all(), which should let panic CPU to take over the next time it checks abandon_console_lock_in_panic() (other_cpu_in_panic() after 5/5), but it may not happen immediately. I wonder if we somehow can/want to "wait" in console_flush_on_panic() for non-panic CPU handover?
| |