patch-2.4.13 linux/include/asm-s390/softirq.h
Next file: linux/include/asm-s390/spinlock.h
Previous file: linux/include/asm-s390/smp.h
Back to the patch index
Back to the overall index
- Lines: 32
- Date:
Thu Oct 11 09:43:38 2001
- Orig file:
v2.4.12/linux/include/asm-s390/softirq.h
- Orig date:
Sun Sep 23 11:41:01 2001
diff -u --recursive --new-file v2.4.12/linux/include/asm-s390/softirq.h linux/include/asm-s390/softirq.h
@@ -18,22 +18,25 @@
#include <asm/lowcore.h>
#define __cpu_bh_enable(cpu) \
- do { barrier(); local_bh_count(cpu)--; } while (0)
+ do { barrier(); local_bh_count(cpu)--; } while (0)
#define cpu_bh_disable(cpu) \
- do { local_bh_count(cpu)++; barrier(); } while (0)
+ do { local_bh_count(cpu)++; barrier(); } while (0)
#define local_bh_disable() cpu_bh_disable(smp_processor_id())
#define __local_bh_enable() __cpu_bh_enable(smp_processor_id())
#define in_softirq() (local_bh_count(smp_processor_id()) != 0)
+extern void do_call_softirq(void);
+
#define local_bh_enable() \
do { \
- unsigned int *ptr = &local_bh_count(smp_processor_id()); \
- barrier(); \
- if (!--*ptr) \
+ unsigned int *ptr = &local_bh_count(smp_processor_id()); \
+ barrier(); \
+ if (!--*ptr) \
if (softirq_pending(smp_processor_id())) \
- do_softirq(); \
+ /* Use the async. stack for softirq */ \
+ do_call_softirq(); \
} while (0)
#endif /* __ASM_SOFTIRQ_H */
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)