All of lore.kernel.org
 help / color / mirror / Atom feed
From: James Smart <James.Smart@Emulex.Com>
To: Parav Pandit <paravpandit@yahoo.com>
Cc: linux-scsi@vger.kernel.org
Subject: Re: returning scsi I/O to SCSI mid layer from Fast IRQ  context
Date: Thu, 30 Aug 2007 08:49:32 -0400	[thread overview]
Message-ID: <46D6BCDC.4030501@emulex.com> (raw)
In-Reply-To: <149190.47033.qm@web30103.mail.mud.yahoo.com>

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@yahoo.com> 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@vger.kernel.org
>> 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@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

      reply	other threads:[~2007-08-30 12:49 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-08-26 16:11 returning scsi I/O to OS from interrupt handler Parav Pandit
2007-08-30  9:45 ` returning scsi I/O to SCSI mid layer from Fast IRQ context Parav Pandit
2007-08-30 12:49   ` James Smart [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=46D6BCDC.4030501@emulex.com \
    --to=james.smart@emulex.com \
    --cc=linux-scsi@vger.kernel.org \
    --cc=paravpandit@yahoo.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.