summaryrefslogtreecommitdiff
path: root/arch/parisc/kernel/smp.c
diff options
context:
space:
mode:
authorJames Bottomley <jejb@parisc-linux.org>2006-09-09 19:36:25 (GMT)
committerMatthew Wilcox <willy@parisc-linux.org>2006-10-04 12:48:57 (GMT)
commit7085689ed135f94108e46c372015c6f5cd3372a3 (patch)
tree3bf6f7b50160fae8dd9f2b08a6bc0541500b5c63 /arch/parisc/kernel/smp.c
parent6e5dc42b5add25c94ce0e95da87122f91b4bfdb3 (diff)
downloadlinux-fsl-qoriq-7085689ed135f94108e46c372015c6f5cd3372a3.tar.xz
[PARISC] Allow nested interrupts
Our prior mode of operation didn't allow nested interrupts because it makes the interrupt code much simpler. However, nested interrupts are better for latency. This code uses the EIEM register to simulate level interrupts and thus achieve nesting. Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com> Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
Diffstat (limited to 'arch/parisc/kernel/smp.c')
-rw-r--r--arch/parisc/kernel/smp.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/parisc/kernel/smp.c b/arch/parisc/kernel/smp.c
index f33e8de..faad338 100644
--- a/arch/parisc/kernel/smp.c
+++ b/arch/parisc/kernel/smp.c
@@ -262,6 +262,9 @@ ipi_interrupt(int irq, void *dev_id, struct pt_regs *regs)
this_cpu, which);
return IRQ_NONE;
} /* Switch */
+ /* let in any pending interrupts */
+ local_irq_enable();
+ local_irq_disable();
} /* while (ops) */
}
return IRQ_HANDLED;