patch-2.4.8 linux/include/asm-ia64/softirq.h
Next file: linux/include/asm-ia64/spinlock.h
Previous file: linux/include/asm-ia64/smp.h
Back to the patch index
Back to the overall index
- Lines: 20
- Date:
Tue Jul 31 10:30:09 2001
- Orig file:
v2.4.7/linux/include/asm-ia64/softirq.h
- Orig date:
Thu Apr 5 12:51:47 2001
diff -u --recursive --new-file v2.4.7/linux/include/asm-ia64/softirq.h linux/include/asm-ia64/softirq.h
@@ -7,8 +7,18 @@
*/
#include <asm/hardirq.h>
+#define __local_bh_enable() do { barrier(); local_bh_count()--; } while (0)
+
#define local_bh_disable() do { local_bh_count()++; barrier(); } while (0)
-#define local_bh_enable() do { barrier(); local_bh_count()--; } while (0)
+#define local_bh_enable() \
+do { \
+ __local_bh_enable(); \
+ if (__builtin_expect(local_softirq_pending(), 0) && local_bh_count() == 0) \
+ do_softirq(); \
+} while (0)
+
+
+#define __cpu_raise_softirq(cpu,nr) set_bit((nr), &softirq_pending(cpu))
#define in_softirq() (local_bh_count() != 0)
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)