Thread (36 messages) 36 messages, 6 authors, 2015-11-03
STALE3874d

[PATCH 16/16] arm64: kdump: relax BUG_ON() if more than one cpus are still active

From: geoff@infradead.org (Geoff Levand)
Date: 2015-10-19 23:38:54
Also in: kexec
Subsystem: arm64 port (aarch64 architecture), the rest · Maintainers: Catalin Marinas, Will Deacon, Linus Torvalds

From: AKASHI Takahiro <redacted>

We should try best in case of kdump.
So even if not all secondary cpus have shut down, we do kdump anyway.
---
 arch/arm64/kernel/machine_kexec.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/arch/arm64/kernel/machine_kexec.c b/arch/arm64/kernel/machine_kexec.c
index f315ee4..157c29b 100644
--- a/arch/arm64/kernel/machine_kexec.c
+++ b/arch/arm64/kernel/machine_kexec.c
@@ -139,7 +139,12 @@ void machine_kexec(struct kimage *image)
 	phys_addr_t reboot_code_buffer_phys;
 	void *reboot_code_buffer;
 
-	BUG_ON(num_online_cpus() > 1);
+	if (num_online_cpus() > 1) {
+		if (in_crash_kexec)
+			pr_warn("*\n* kdump might fail because %d cpus are still online\n*\n", num_online_cpus());
+		else
+			BUG();
+	}
 
 	kimage_head = image->head;
 
-- 
2.5.0
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help