#ifndef _ALPHA_SOFTIRQ_H | |
#define _ALPHA_SOFTIRQ_H | |
#include <linux/preempt.h> | |
#include <asm/hardirq.h> | |
#define local_bh_disable() \ | |
do { preempt_count() += SOFTIRQ_OFFSET; barrier(); } while (0) | |
#define __local_bh_enable() \ | |
do { barrier(); preempt_count() -= SOFTIRQ_OFFSET; } while (0) | |
#define local_bh_enable() \ | |
do { \ | |
__local_bh_enable(); \ | |
if (unlikely(!in_interrupt() && \ | |
softirq_pending(smp_processor_id()))) \ | |
do_softirq(); \ | |
preempt_check_resched(); \ | |
} while (0) | |
#endif /* _ALPHA_SOFTIRQ_H */ |