Messages in this thread | | | Subject | Re: RFC on io-stalls patch | From | Chris Mason <> | Date | 14 Jul 2003 16:09:08 -0400 |
| |
On Mon, 2003-07-14 at 15:51, Jens Axboe wrote:
> Some initial results with the attached patch, I'll try and do some more > fine grained tomorrow. Base kernel was 2.4.22-pre5 (obviously), drive > tested is a SCSI drive (on aic7xxx, tcq fixed at 4), fs is ext3. I would > have done ide testing actually, but the drive in that machine appears to > have gone dead. I'll pop in a new one tomorrow and test on that too. >
Thanks Jens, the results so far are very interesting (although I'm curious to hear how 2.4.21 did).
> --- 1.47/drivers/block/ll_rw_blk.c Fri Jul 11 10:30:54 2003 > +++ edited/drivers/block/ll_rw_blk.c Mon Jul 14 20:42:36 2003 > @@ -549,10 +549,12 @@ > static struct request *get_request(request_queue_t *q, int rw) > { > struct request *rq = NULL; > - struct request_list *rl; > + struct request_list *rl = &q->rq; > > - rl = &q->rq; > - if (!list_empty(&rl->free) && !blk_oversized_queue(q)) { > + if ((rw == WRITE) && (blk_oversized_queue(q) || (rl->count < 4))) > + return NULL; > + > + if (!list_empty(&rl->free)) { > rq = blkdev_free_rq(&rl->free); > list_del(&rq->queue); > rl->count--; > @@ -947,7 +949,7 @@
Could I talk you into trying a form of this patch that honors blk_oversized_queue for everything except the BH_sync requests?
-chris
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |