diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2009-10-26 19:41:17 +0000 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2009-10-27 16:42:43 +1100 |
commit | 4f917ba3d5ee9c98d60fa357e799942df8412de3 (patch) | |
tree | 3576261c81b76e74b2372d2221196040a369bb92 /kernel/pid_namespace.c | |
parent | 01deab98e3ad8ff27243a8d5f8dd746c7110ae4f (diff) | |
download | blackbird-op-linux-4f917ba3d5ee9c98d60fa357e799942df8412de3.tar.gz blackbird-op-linux-4f917ba3d5ee9c98d60fa357e799942df8412de3.zip |
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>
Diffstat (limited to 'kernel/pid_namespace.c')
0 files changed, 0 insertions, 0 deletions