[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20241020071755.328706-1-ryotkkr98@gmail.com>
Date: Sun, 20 Oct 2024 16:17:55 +0900
From: Ryo Takakura <ryotkkr98@...il.com>
To: mpe@...erman.id.au,
npiggin@...il.com,
christophe.leroy@...roup.eu,
naveen@...nel.org,
maddy@...ux.ibm.com,
sourabhjain@...ux.ibm.com,
hbathini@...ux.ibm.com,
leobras.c@...il.com,
pmladek@...e.com,
john.ogness@...utronix.de
Cc: linuxppc-dev@...ts.ozlabs.org,
linux-kernel@...r.kernel.org,
Ryo Takakura <ryotkkr98@...il.com>
Subject: [PATCH] powerpc/crash: Allow direct printing on kexec
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 <ryotkkr98@...il.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
Powered by blists - more mailing lists