On Tue, Nov 04 2008, Tejun Heo wrote: > I'm trying to convert all drivers to use the same command issue model - > elv_next_request() -> blkdev_dequeue_request() on actual issue -> > blk_end_request(). I have first draft of the conversion patchset but > it's gonna take me a few more days to review and test what I can as > several drivers (mostly legacy ones) are a bit tricky. Don't do that, please. What we need to do is ensure that the model fits with whatever the driver wants to do there, and for some drivers it's actually a lot easier to rely on elv_next_request() returning the same requests again instead of keeping track of it yourself. So any patch that enforces the model that you must dequeue before starting the request, will get a big nak from me. What we need to do is add a 'peek' mode only, which doesn't start the request. Along with something to mark it started that the driver can use, or it can just use elv_next_request() of course. > For the time being, SCSI layer is the only block layer timeout user and > completion w/o dequeuing is only for error cases in SCSI, so the > inefficiency there shouldn't matter too much. Agree, for now we are ok since it's just SCSI. -- Jens Axboe -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html