summaryrefslogtreecommitdiffstats
path: root/arch/parisc/include/asm/processor.h
diff options
context:
space:
mode:
authorHelge Deller2013-05-24 23:27:35 +0200
committerHelge Deller2013-05-24 23:29:01 +0200
commitd96b51ec14650b490ab98e738bcc02309396e5bc (patch)
treebcc82f90634f689e629ed692f2fa6f1654d3cbbf /arch/parisc/include/asm/processor.h
parentparisc/superio: Use module_pci_driver to register driver (diff)
downloadkernel-qcow2-linux-d96b51ec14650b490ab98e738bcc02309396e5bc.tar.gz
kernel-qcow2-linux-d96b51ec14650b490ab98e738bcc02309396e5bc.tar.xz
kernel-qcow2-linux-d96b51ec14650b490ab98e738bcc02309396e5bc.zip
parisc: fix irq stack on UP and SMP
The logic to detect if the irq stack was already in use with raw_spin_trylock() is wrong, because it will generate a "trylock failure on UP" error message with CONFIG_SMP=n and CONFIG_DEBUG_SPINLOCK=y. arch_spin_trylock() can't be used either since in the CONFIG_SMP=n case no atomic protection is given and we are reentrant here. A mutex didn't worked either and brings more overhead by turning off interrupts. So, let's use the fastest path for parisc which is the ldcw instruction. Counting how often the irq stack was used is pretty useless, so just drop this piece of code. 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.h21
1 files changed, 0 insertions, 21 deletions
diff --git a/arch/parisc/include/asm/processor.h b/arch/parisc/include/asm/processor.h
index cfbc43929cf6..cc2290a3cace 100644
--- a/arch/parisc/include/asm/processor.h
+++ b/arch/parisc/include/asm/processor.h
@@ -17,7 +17,6 @@
#include <asm/ptrace.h>
#include <asm/types.h>
#include <asm/percpu.h>
-
#endif /* __ASSEMBLY__ */
/*
@@ -59,26 +58,6 @@
#ifndef __ASSEMBLY__
/*
- * IRQ STACK - used for irq handler
- */
-#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);
-
-void call_on_stack(unsigned long p1, void *func, unsigned long new_stack);
-
-#endif /* __KERNEL__ */
-
-/*
* Data detected about CPUs at boot time which is the same for all CPU's.
* HP boxes are SMP - ie identical processors.
*