On Thu, 2005-06-02 at 20:31 +0300, Liran Schour wrote: > I am developing a new SCSI upper layer driver. (Object based SCSI device) > I noticed that scsi_do_req execute commands in LIFO order (add new commands > to the head of the Q). > This behavior can cause a starvation of commands (or at least long delays). > What is the proper solution to this? Well, to use the proper interfaces. scsi_do_req is deprecated, so don't use it. scsi_wait_req is its replacement. Note: they're only really intended to allow ULDs to execute commands that are necessary for controlling the device (that's why they go at the head of the queue). Block commands are executed in order using ULD init_command() (or REQ_BLOCK_PC). James - : 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