mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH v2] MIPS: SGI-IP27: print the NMI dump on an nbcon console
@ 2026-10-01 19:19 Imre Kaloz
  2026-10-01 19:55 ` John Ogness
  0 siblings, 1 reply; 2+ messages in thread
From: Imre Kaloz @ 2026-10-01 19:19 UTC (permalink / raw)
  To: Thomas Bogendoerfer
  Cc: linux-mips, linux-kernel, Greg Kroah-Hartman, Jiri Slaby,
	linux-serial, Petr Mladek, Steven Rostedt, John Ogness,
	Sergey Senozhatsky

Since the 8250 console became nbcon, printk() in nmi_dump() only queues
records for a printer thread that never runs, as no CPU leaves the NMI
handler. Print from an emergency section and flush pending records
before the hub reset.

Fixes: d3539347022a ("serial: 8250: Switch to nbcon console, take 2")
Signed-off-by: Imre Kaloz <kaloz@kernel.org>
---
v2: flush pending records before the hub reset (John Ogness)
v1: https://lore.kernel.org/all/20261001155013.1694-1-kaloz@kernel.org/

This conflicts by context with patch 14/38 of the IP35 series,
https://lore.kernel.org/all/76f2a9c32eba23de36817f0a186def01e009e1c7.1790857966.git.kaloz@kernel.org/
which rewrites the reset write. Whichever lands second places the
printk_trigger_flush() call above the system_is_ip35 branch.

 arch/mips/sgi-ip27/ip27-nmi.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/arch/mips/sgi-ip27/ip27-nmi.c b/arch/mips/sgi-ip27/ip27-nmi.c
index fc2816398d0c..c502982621e6 100644
--- a/arch/mips/sgi-ip27/ip27-nmi.c
+++ b/arch/mips/sgi-ip27/ip27-nmi.c
@@ -1,4 +1,5 @@
 // SPDX-License-Identifier: GPL-2.0
+#include <linux/console.h>
 #include <linux/kernel.h>
 #include <linux/mmzone.h>
 #include <linux/nodemask.h>
@@ -183,6 +184,12 @@ static void nmi_dump(void)
 	 */
 	arch_spin_lock(&nmi_lock);
 
+	/*
+	 * No CPU leaves the NMI handler before the hub reset below, so an
+	 * nbcon console's printer thread would never print the dump.
+	 */
+	nbcon_cpu_emergency_enter();
+
 #ifdef REAL_NMI_SIGNAL
 	/*
 	 * Wait up to 15 seconds for the other cpus to respond to the NMI.
@@ -227,5 +234,6 @@ static void nmi_dump(void)
 	 * Save the nmi cpu registers for all cpu in the eframe format.
 	 */
 	nmi_eframes_save();
+	printk_trigger_flush();
 	LOCAL_HUB_S(NI_PORT_RESET, NPR_PORTRESET | NPR_LOCALRESET);
 }
-- 
2.47.3


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH v2] MIPS: SGI-IP27: print the NMI dump on an nbcon console
  2026-10-01 19:19 [PATCH v2] MIPS: SGI-IP27: print the NMI dump on an nbcon console Imre Kaloz
@ 2026-10-01 19:55 ` John Ogness
  0 siblings, 0 replies; 2+ messages in thread
From: John Ogness @ 2026-10-01 19:55 UTC (permalink / raw)
  To: Imre Kaloz, Thomas Bogendoerfer
  Cc: linux-mips, linux-kernel, Greg Kroah-Hartman, Jiri Slaby,
	linux-serial, Petr Mladek, Steven Rostedt, Sergey Senozhatsky

On 2026-10-01, Imre Kaloz <kaloz@kernel.org> wrote:
> Since the 8250 console became nbcon, printk() in nmi_dump() only queues
> records for a printer thread that never runs, as no CPU leaves the NMI
> handler. Print from an emergency section and flush pending records
> before the hub reset.
>
> Fixes: d3539347022a ("serial: 8250: Switch to nbcon console, take 2")
> Signed-off-by: Imre Kaloz <kaloz@kernel.org>

Reviewed-by: John Ogness <john.ogness@linutronix.de>

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-10-01 19:55 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-10-01 19:19 [PATCH v2] MIPS: SGI-IP27: print the NMI dump on an nbcon console Imre Kaloz
2026-10-01 19:55 ` John Ogness

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®