linux/arch/powerpc
Benjamin Herrenschmidt 4f917ba3d5 powerpc/ppc64: Use preempt_schedule_irq instead of preempt_schedule
Based on an original patch by Valentine Barshak <vbarshak@ru.mvista.com>

Use preempt_schedule_irq to prevent infinite irq-entry and
eventual stack overflow problems with fast-paced IRQ sources.

This kind of problems has been observed on the PASemi Electra IDE
controller. We have to make sure we are soft-disabled before calling
preempt_schedule_irq and hard disable interrupts after that
to avoid unrecoverable exceptions.

This patch also moves the "clrrdi r9,r1,THREAD_SHIFT" out of
the #ifdef CONFIG_PPC_BOOK3E scope, since r9 is clobbered
and has to be restored in both cases.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2009-10-27 16:42:43 +11:00
..
boot Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-next 2009-09-23 15:37:02 -07:00
configs powerpc: Add a Book-3E 64-bit defconfig 2009-10-27 16:42:41 +11:00
include/asm powerpc: Fix hypervisor TLB batching 2009-10-14 16:58:37 +11:00
kernel powerpc/ppc64: Use preempt_schedule_irq instead of preempt_schedule 2009-10-27 16:42:43 +11:00
kvm const: constify remaining file_operations 2009-10-01 16:11:11 -07:00
lib powerpc: Add configurable -Werror for arch/powerpc 2009-06-16 14:15:45 +10:00
math-emu powerpc/math-emu: Fix efp dependence 2009-03-11 06:00:08 -05:00
mm powerpc/mm: Fix hang accessing top of vmalloc space 2009-10-14 16:58:36 +11:00
oprofile powerpc: Remove unnecessary semicolons 2009-07-08 13:50:21 +10:00
platforms powerpc/iseries: Remove compiler version dependent hack 2009-10-27 16:42:39 +11:00
sysdev powerpc: Change archdata dma_data to a union 2009-09-24 15:31:43 +10:00
xmon powerpc/booke: Fix xmon single step on PowerPC Book-E 2009-10-27 16:42:40 +11:00
Kconfig powerpc: Increase NODES_SHIFT on 64bit from 4 to 8 2009-09-24 15:31:46 +10:00
Kconfig.debug powerpc: Add configurable -Werror for arch/powerpc 2009-06-16 14:15:45 +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