patch-1.3.71 linux/kernel/softirq.c
Next file: linux/mm/kmalloc.c
Previous file: linux/kernel/sched.c
Back to the patch index
Back to the overall index
- Lines: 34
- Date:
Sun Mar 3 15:28:02 1996
- Orig file:
v1.3.70/linux/kernel/softirq.c
- Orig date:
Wed Feb 7 15:11:40 1996
diff -u --recursive --new-file v1.3.70/linux/kernel/softirq.c linux/kernel/softirq.c
@@ -27,27 +27,28 @@
unsigned long intr_count = 0;
+int bh_mask_count[32];
unsigned long bh_active = 0;
unsigned long bh_mask = 0;
-struct bh_struct bh_base[32];
+void (*bh_base[32])(void);
asmlinkage void do_bottom_half(void)
{
unsigned long active;
unsigned long mask, left;
- struct bh_struct *bh;
+ void (**bh)(void);
bh = bh_base;
active = bh_active & bh_mask;
for (mask = 1, left = ~0 ; left & active ; bh++,mask += mask,left += left) {
if (mask & active) {
- void (*fn)(void *);
+ void (*fn)(void);
bh_active &= ~mask;
- fn = bh->routine;
+ fn = *bh;
if (!fn)
goto bad_bh;
- fn(bh->data);
+ fn();
}
}
return;
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov
with Sam's (original) version of this