Messages in this thread | | | Date | Tue, 19 Dec 2006 12:34:54 +0200 | From | Dan Aloni <> | Subject | Re: [PATCH] scsi_execute_async() should add to the tail of the queue |
| |
Arjan van de Ven wrote: > On Tue, 2006-12-19 at 10:35 +0200, Dan Aloni wrote: > >> Hello, >> >> scsi_execute_async() has replaced scsi_do_req() a few versions ago, >> but it also incurred a change of behavior. I noticed that over-queuing >> a SCSI device using that function causes I/Os to be starved from >> low-level queuing for no justified reason. >> >> I think it makes much more sense to perserve the original behaviour >> of scsi_do_req() and add the request to the tail of the queue. >> > > Hi, > > some things should really be added to the head of the queue, like > maintenance requests and error handling requests. Are you sure this is > the right change? At least I'd expect 2 apis, one for a head and one for > a "normal" queueing... > Since a user of scsi_execute_async() would most likely want to have control over this, it would be better to add a parameter and fix the current users of the function.
However, if we take this route we might have duplicate code across mid-layer drivers (sg, st, osst), because they may choose to prioritize I/Os in similar ways.
So instead of adding a parameter, we can make scsi_execute_async() decide for itself based on the SCSI command, with read/write I/Os taking the lowest priority.
Suggestions?
- 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/
| |