In the hosts.h file, the following was the definition of
can_queue variable in the Scsi_Host_Template (SHT) structure.
/*
* THis determines if we will use a non-interrupt driven
* or an interrupt driver scheme, It is set to the maximum number
* of simultaneous commands a given host adapter will accept.
*/
int can_queue;
Scsi_Host structure also has the same variable which gets initialized
with the can_queue of SHT structure in the scsi_register().
Let's say the can_queue in initialized to 16. Now, I could not find
anybody decrementing this variable. So, when the time comes to
send a new command to the hba, the can_queue of the host sturcture is
checked and if that is non-zero, then the queuecommand() entry point
is immediately called. So, the queuecommand will always be called
even if the host is already given 'can_queue' commands.
Any inputs on this ?
-hiren
-
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/