aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2009-03-13 11:14:06 +0100
committerIngo Molnar <mingo@elte.hu>2009-03-13 11:24:31 +0100
commitd1dedb52acd98bd5e13e1ff4c4d045d58bbd16fe (patch)
tree02b305e743a8160e87cf10258b868bd507dfbfb2
parentpanic: decrease oops_in_progress only after having done the panic (diff)
downloadlinux-dev-d1dedb52acd98bd5e13e1ff4c4d045d58bbd16fe.tar.xz
linux-dev-d1dedb52acd98bd5e13e1ff4c4d045d58bbd16fe.zip
panic, smp: provide smp_send_stop() wrapper on UP too
Impact: cleanup, no code changed Remove an ugly #ifdef CONFIG_SMP from panic(), by providing an smp_send_stop() wrapper on UP too. LKML-Reference: <49B91A7E.76E4.0078.0@novell.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r--include/linux/smp.h4
-rw-r--r--kernel/panic.c2
2 files changed, 3 insertions, 3 deletions
diff --git a/include/linux/smp.h b/include/linux/smp.h
index 2d3bcb6b37ff..a69db820eed6 100644
--- a/include/linux/smp.h
+++ b/include/linux/smp.h
@@ -38,7 +38,7 @@ int smp_call_function_single(int cpuid, void (*func) (void *info), void *info,
/*
* main cross-CPU interfaces, handles INIT, TLB flush, STOP, etc.
* (defined in asm header):
- */
+ */
/*
* stops all CPUs but the current one:
@@ -122,6 +122,8 @@ extern unsigned int setup_max_cpus;
#else /* !SMP */
+static inline void smp_send_stop(void) { }
+
/*
* These macros fold the SMP functionality into a single CPU system
*/
diff --git a/kernel/panic.c b/kernel/panic.c
index 57fb005de546..ca75e819d0ea 100644
--- a/kernel/panic.c
+++ b/kernel/panic.c
@@ -85,14 +85,12 @@ NORET_TYPE void panic(const char * fmt, ...)
*/
crash_kexec(NULL);
-#ifdef CONFIG_SMP
/*
* Note smp_send_stop is the usual smp shutdown function, which
* unfortunately means it may not be hardened to work in a panic
* situation.
*/
smp_send_stop();
-#endif
atomic_notifier_call_chain(&panic_notifier_list, 0, buf);