1 #ifndef __ASM_SOFTIRQ_H
2 #define __ASM_SOFTIRQ_H
4 #include <linux/preempt.h>
5 #include <asm/hardirq.h>
7 #define local_bh_disable() \
8 do { preempt_count() += SOFTIRQ_OFFSET; barrier(); } while (0)
9 #define __local_bh_enable() \
10 do { barrier(); preempt_count() -= SOFTIRQ_OFFSET; } while (0)
12 #define local_bh_enable() \
14 __local_bh_enable(); \
15 if (unlikely(!in_interrupt() && softirq_pending(smp_processor_id()))) \
17 preempt_check_resched(); \
20 #endif /* __ASM_SOFTIRQ_H */