passstart() and immediate CCBs

Jack jacks.1785 at gmail.com
Mon Oct 15 02:57:24 UTC 2012


On Sat, Oct 13, 2012 at 4:02 AM, Kenneth D. Merry <ken at freebsd.org> wrote:

> Immediate CCBs are complete when xpt_action() returns, so no callback is
> needed.
>

 Does Immediate CCB transaction is similar to polling? I mean xpt_action() is
 called, xfer is done and then HBA asserts interrupt, the control is transfered
 back to xpt_action(), then it returns.

 Then what is the purpose of  cam_periph_ccbwait(), inside
cam_periph_runccb(), just after xpt_action().

>
> Immediate CCBs never go down to the hardware.  The priority mechanism is
> used to help determine who gets queue slots, and those are only
> needed for queued CCBs.
>

queued CCBs means non-immediate CCBs. right?

Sorry, I didn't get what do you mean by:
 " Immediate CCBs never go down to the hardware."

I guess immediate CCBs are preferred over non-immediate CCBs, in the
sense that they bypass struct cam_ed queue completely, and directly
sent to HBA driver, via xpt_action(). Is it?


Regards
-- 
Jack


More information about the freebsd-scsi mailing list