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)