patch-1.3.85 linux/drivers/block/ll_rw_blk.c
Next file: linux/drivers/char/Makefile
Previous file: linux/drivers/block/ide.h
Back to the patch index
Back to the overall index
- Lines: 38
- Date:
Mon Apr 8 12:03:28 1996
- Orig file:
v1.3.84/linux/drivers/block/ll_rw_blk.c
- Orig date:
Sun Mar 31 00:13:16 1996
diff -u --recursive --new-file v1.3.84/linux/drivers/block/ll_rw_blk.c linux/drivers/block/ll_rw_blk.c
@@ -28,6 +28,12 @@
static struct request all_requests[NR_REQUEST];
/*
+ * The "disk" task queue is used to start the actual requests
+ * after a plug
+ */
+DECLARE_TASK_QUEUE(tq_disk);
+
+/*
* used to wait on when there are no free requests
*/
struct wait_queue * wait_for_request = NULL;
@@ -101,7 +107,7 @@
static inline void plug_device(struct blk_dev_struct * dev)
{
dev->current_request = &dev->plug;
- queue_task_irq_off(&dev->plug_tq, &tq_scheduler);
+ queue_task_irq_off(&dev->plug_tq, &tq_disk);
}
/*
@@ -152,6 +158,7 @@
sti();
if (req)
break;
+ run_task_queue(&tq_disk);
schedule();
}
remove_wait_queue(&wait_for_request, &wait);
@@ -593,6 +600,7 @@
req[j]->next = NULL;
add_request(major+blk_dev,req[j]);
}
+ run_task_queue(&tq_disk);
while (j > 0) {
j--;
down(&sem);
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