diff options
Diffstat (limited to 'include/linux/interrupt.h')
| -rw-r--r-- | include/linux/interrupt.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h index 7a0681b9e880..e71f89ae8b3f 100644 --- a/include/linux/interrupt.h +++ b/include/linux/interrupt.h @@ -8,7 +8,6 @@ #include <asm/atomic.h> #include <asm/hardirq.h> #include <asm/ptrace.h> -#include <asm/softirq.h> #include <asm/system.h> struct irqaction { @@ -36,6 +35,13 @@ extern void free_irq(unsigned int, void *); # define save_and_cli(x) local_irq_save(x) #endif +/* SoftIRQ primitives. */ +#define local_bh_disable() \ + do { preempt_count() += SOFTIRQ_OFFSET; barrier(); } while (0) +#define __local_bh_enable() \ + do { barrier(); preempt_count() -= SOFTIRQ_OFFSET; } while (0) + +extern void local_bh_enable(void); /* PLEASE, avoid to allocate new softirqs, if you need not _really_ high frequency threaded job scheduling. For almost all the purposes |
