linux/arch
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
..
alpha 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
arm musb: fix power field to hold all possible values 2010-04-30 09:25:07 -07:00
avr32 arch/avr32: fix build failure caused by wrong prototype 2010-04-27 16:26:03 -07:00
blackfin 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
cris 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
frv frv: fix kernel/user segment handling in NOMMU mode 2010-04-07 08:38:05 -07:00
h8300 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
ia64 KVM: fix the handling of dirty bitmaps to avoid overflows 2010-04-20 13:06:55 +03:00
m32r 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
m68k m68knommu: fix coldfire tcdrain 2010-04-21 13:43:06 +10:00
m68knommu m68knommu: remove a duplicate vector setting line for 68360 2010-04-21 13:43:06 +10:00
microblaze microblaze: Remove unused variable from ptrace 2010-04-07 15:47:55 +02:00
mips MIPS: Loongson 2F: Fix of problems introduced by -mfix-loongson2f-jump 2010-04-30 20:52:58 +01:00
mn10300 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
parisc 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
powerpc powerpc/kdump: Fix race in kdump shutdown 2010-05-21 17:31:11 +10:00
s390 [S390] vdso: use ntp adjusted clock multiplier 2010-04-22 17:17:19 +02:00
score 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
sh Merge branch 'master' into export-slabh 2010-04-05 11:37:28 +09:00
sparc sparc64: Fix hardirq tracing in trap return path. 2010-04-20 00:48:37 -07:00
um uml: Fix build breakage after slab.h changes 2010-04-19 17:46:23 +09:00
x86 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-tip 2010-05-04 19:07:35 -07:00
xtensa 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
.gitignore
Kconfig Merge branch 'perf-probes-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-03-05 10:50:22 -08:00