The midlayer is written to accept scsi i/o completion (via scsi_done())
from the context of an interrupt handler. The scsi_done() path actually
just traverses up the stack a little, then queues the request on a done
queue, and scheduls a softirq thread for actual completion processing.
The belief is the best-performing drivers call the command done routine
from the interrupt handler (otherwise, you may have 2 context switches
before completion processing).
-- james s
Parav Pandit wrote:
Let me simplify and ask in different way.
1. Can I return a scsi I/O by invoking scsi_done()
from the Fast IRQ context in the Low level SCSI HBA
driver?
2. Is the interrupt handler right place to call
scsi_done() and invoke SCSI mid layer? or should I
defer to the DPC thread context?
Parav
--- Parav Pandit <paravpandit@xxxxxxxxx> wrote:
Hi,
A low level SCSI HBA driver can return the I/O back
to
the OS from various paths.
Some of the common possible paths
1, enqueue_command itself
2. Timer handler (at the time of command timeout)
3. Interrupt handler (when a response is received
from
the storage)
4. DPC handler thread.
Whenever an I/O is returned from the interrupt
handler
by invoking scsi_done callback function, it will
invoke the SCSI mid layer.
1. Is it good practice to return call scsi_done
callback function from Interrupt handler?
If no, may I know the implications of doing that?
(other then blocking the interrupt context for a
longer time)
2. if multiple I/Os are returned in a single
interrupt, how many commands should be returned by
calling scsi_done before shifting to dpc thread?
Regards,
Parav Pandit
____________________________________________________________________________________
Got a little couch potato?
Check out fun summer activities for kids.
http://search.yahoo.com/search?fr=oni_on_mail&p=summer+activities+for+kids&cs=bz
-
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
____________________________________________________________________________________Ready for the edge of your seat?
Check out tonight's top picks on Yahoo! TV.
http://tv.yahoo.com/
-
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
-
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