Since the commit af2876b501e4 ("powerpc/crash: Use NMI context for printk when starting to crash"), printing has been deferred before shutting down non-panicked CPU on kexec to avoid deadlock on logbuf_lock. It is deferred until the shutdown of the first kernel and starts booting into the second kernel. As a result, there is no messages printed for legacy consoles, including crash_kexec_post_notifiers messages which is after the syncing of legacy console at printk_legacy_allow_panic_sync().
Let legacy consoles print directly so that we can see messages on kexec, as the commit b6cf8b3f3312 ("printk: add lockless ringbuffer") turned printk ring buffer lockless and there should be no worries panicked CPU deadlocking writing into ringbuffer after shutting down non-panicked CPU. Signed-off-by: Ryo Takakura <ryotkk...@gmail.com> --- Hi! My understanding is that deferred printing can also be safely removed in terms of console lock as the commit d51507098ff9 ("printk: disable optimistic spin during panic") prevented from spinning in case of panic. Sincerely, Ryo Takakura --- arch/powerpc/kexec/crash.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/arch/powerpc/kexec/crash.c b/arch/powerpc/kexec/crash.c index 9ac3266e4965..5e5260e0d964 100644 --- a/arch/powerpc/kexec/crash.c +++ b/arch/powerpc/kexec/crash.c @@ -269,9 +269,6 @@ static inline void crash_kexec_wait_realmode(int cpu) {} void crash_kexec_prepare(void) { - /* Avoid hardlocking with irresponsive CPU holding logbuf_lock */ - printk_deferred_enter(); - /* * This function is only called after the system * has panicked or is otherwise in a critical state. -- 2.34.1