aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/arch/parisc/include/asm/processor.h
diff options
context:
space:
mode:
authorHelge Deller <deller@gmx.de>2013-05-10 21:24:01 +0000
committerHelge Deller <deller@gmx.de>2013-05-11 21:10:15 +0200
commit416821d3d68164909b2cbcf398e4ba0797f5f8a2 (patch)
treec7ba229007acf58d5b04763177aa04b5ddca98d9 /arch/parisc/include/asm/processor.h
parentMerge branch 'for-3.10' of git://linux-nfs.org/~bfields/linux (diff)
downloadwireguard-linux-416821d3d68164909b2cbcf398e4ba0797f5f8a2.tar.xz
wireguard-linux-416821d3d68164909b2cbcf398e4ba0797f5f8a2.zip
parisc: implement irq stacks - part 2 (v2)
This patch fixes few build issues which were introduced with the last irq stack patch, e.g. the combination of stack overflow check and irq stack. Furthermore we now do proper locking and change the irq bh handler to use the irq stack as well. In /proc/interrupts one now can monitor how huge the irq stack has grown and how often it was preferred over the kernel stack. IRQ stacks are now enabled by default just to make sure that we not overflow the kernel stack by accident. Signed-off-by: Helge Deller <deller@gmx.de>
Diffstat (limited to 'arch/parisc/include/asm/processor.h')
-rw-r--r--arch/parisc/include/asm/processor.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/parisc/include/asm/processor.h b/arch/parisc/include/asm/processor.h
index 064015547d1e..cfbc43929cf6 100644
--- a/arch/parisc/include/asm/processor.h
+++ b/arch/parisc/include/asm/processor.h
@@ -63,10 +63,13 @@
*/
#ifdef __KERNEL__
+#include <linux/spinlock_types.h>
+
#define IRQ_STACK_SIZE (4096 << 2) /* 16k irq stack size */
union irq_stack_union {
unsigned long stack[IRQ_STACK_SIZE/sizeof(unsigned long)];
+ raw_spinlock_t lock;
};
DECLARE_PER_CPU(union irq_stack_union, irq_stack_union);