Re: [PATCH] scsi_execute_async() should add to the tail of the queue

Jon Escombe
2006-12-19T19:09:53Z

Jens Axboe wrote:
> On Tue, Dec 19 2006, 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...
>
> It does sounds broken - head insertion should only be used for careful
> internal commands, not be the default way user issued commands. Looking
> at the current users, the patch makes sense to me.
>

It's worth noting that the hdaps disk protection patches rely on the
current behaviour to add 'IDLE IMMEDIATE WITH UNLOAD' commands to the
head of the queue.. Another function, or a new parameter for queue
position would be needed to retain this functionality - any preference
for either?

Regards,
Jon.