linux/arch/powerpc
Michael Neuling 60adec6226 powerpc/kdump: Fix race in kdump shutdown
When we are crashing, the crashing/primary CPU IPIs the secondaries to
turn off IRQs, go into real mode and wait in kexec_wait.  While this
is happening, the primary tears down all the MMU maps.  Unfortunately
the primary doesn't check to make sure the secondaries have entered
real mode before doing this.

On PHYP machines, the secondaries can take a long time shutting down
the IRQ controller as RTAS calls are need.  These RTAS calls need to
be serialised which resilts in the secondaries contending in
lock_rtas() and hence taking a long time to shut down.

We've hit this on large POWER7 machines, where some secondaries are
still waiting in lock_rtas(), when the primary tears down the HPTEs.

This patch makes sure all secondaries are in real mode before the
primary tears down the MMU.  It uses the new kexec_state entry in the
paca.  It times out if the secondaries don't reach real mode after
10sec.

Signed-off-by: Michael Neuling <mikey@neuling.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2010-05-21 17:31:11 +10:00
..
boot powerpc/83xx: Add MCU LEDs support for MPC837xRDB and MPC8315RDB boards 2010-05-17 10:55:32 -05:00
configs Merge commit 'origin/master' into next 2010-05-07 11:29:25 +10:00
include/asm powerpc/kexec: Fix race in kexec shutdown 2010-05-21 17:31:11 +10:00
kernel powerpc/kdump: Fix race in kdump shutdown 2010-05-21 17:31:11 +10:00
kvm KVM: fix the handling of dirty bitmaps to avoid overflows 2010-04-20 13:06:55 +03:00
lib powerpc: Fix string library functions 2010-05-21 17:31:08 +10:00
math-emu powerpc/math-emu: Fix efp dependence 2009-03-11 06:00:08 -05:00
mm powerpc/fsl-booke: Move loadcam_entry back to asm code to fix SMP ftrace 2010-05-17 10:56:20 -05:00
oprofile include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
platforms powerpc/kexec: Speedup kexec hash PTE tear down 2010-05-21 17:31:11 +10:00
sysdev powerpc: Add interrupt support to mpc8xxx_gpio 2010-05-17 10:48:28 -05:00
xmon powerpc: Mark some variables in the page fault path __read_mostly 2010-02-03 17:39:48 +11:00
Kconfig powerpc: Add kprobe-based event tracer 2010-04-07 18:11:43 +10:00
Kconfig.debug powerpc/cpumask: Add DEBUG_PER_CPU_MAPS option 2010-05-06 18:05:26 +10:00
Makefile powerpc: Check for unsupported relocs when using CONFIG_RELOCATABLE 2009-09-24 15:31:40 +10:00
relocs_check.pl powerpc: Check for unsupported relocs when using CONFIG_RELOCATABLE 2009-09-24 15:31:40 +10:00