Re: [PATCH] iSeries virtual disk

From: Jens Axboe
Date: Thu Feb 26 2004 - 02:42:11 EST


On Thu, Feb 26 2004, Jeff Garzik wrote:
> 4) why do you call blkdev_dequeue_request() in do_viodasd_request()
> rather than viodasd_end_request() ? Or just use end_request() ?

It makes the queueing simpler (you could potentially leave the _last_
request on the queue, but it's probably not worth the hassle).

They should not call elv_next_request() only to bail if
num_req_outstanding is too big, since it has side effects (moving
request from io scheduler core to dispatch, which makes it ineligible
for merging, sorting, etc).

do {
if (too_many_queued)
break;

rq = elv_next_request(q);
if (!rq)
break;

...
}

> 12) don't you need to set blk_queue_max_phys_segments() too?

Yep

> P.S. I so wish that people had named the API function
> dma_alloc_incoherent() rather than dma_alloc_noncoherent :)

;-)

--
Jens Axboe

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/