Re: returning scsi I/O to SCSI mid layer from Fast IRQ context

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux