SORT BY:

LIST ORDER
THREAD
AUTHOR
SUBJECT


SEARCH

IPS HOME


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

    Re: iSCSI : Command Ordering Proposal.



    csapuntz@cisco.com wrote:
    
    > Santosh,
    >
    > I believe you may be missing a subtlety to the SCSI task queueing model.
    > I may also be missing a subtlety of your argument and, if so, please excuse
    > this e-mail.
    >
    > Consider three commands sent down a FIFO SCSI transport:
    >
    >         1) Ordered Command
    >         2) Simple Command
    >         3) Simple command
    >
    > The ordered command is received first and then the two simple commands.
    > The ordered command is guaranteed to be executed before either SIMPLE command.
    >
    > Relevant text from SAM-2 rev 14, sec 7.5.1
    >
    > "The [simple] task shall not enter the Enabled state until all older Head of Queue and older Ordered tasks have ended."
    >
    > Your proposed change means that CmdSN no longer is able express that
    > the Ordered task is "older" that the "simple" task. Thus, an initiator
    > might need to stop-and-wait before issuing #2 and #3.
    
    Costa,
    
    I need to add some more clarity on the discussion here. It was not my intent
    to suggest that CmdSN NOT be used for simple task tags. My suggestion
    was that the targets use CmdSN to enforce ordering only when an ordered
    task tag enters the task set and for the tasks that are older than the ordered
    task tag in the task set.
    
    I see some confusion regarding the semantics of ordered task tag. SAM-2
    Section 7 states :
    "The rules for task set management (including those that govern the ordered
    task tags) apply only after the task is entered into the task set."
    
    This implies that ordering is enforced not from an end-to-end perspective,
    but from the perspective of the tasks entering the task set at the target.
    
    When end-to-end ordering is required, CRN should be used. Ordered Task
    Tags do not imply end-to-end ordering (unless someone pulled that above
    statement out of SAM-2).
    
    Given the above, enforcing ordering of interleaved ordered tags and simple tags
    within a task set becomes a 2-queue implementation along the following lines.
    
    Consider 2 queues, unordered_q & ordered_q at the target.
    
    A received task shall be placed at the tail of :
    
    a) unordered_q if there are no pending tasks in the ordered_q and it has a
    simple task tag.
    
    b) ordered_q if it has an ordered task tag or (has a simple task tag and there
    are pending tasks on the ordered_q).
    
    If all older ordered task tag commands in the ordered_q have been
    processed, the contiguous set of simple task tag commands that follow on
    the ordered_q shall be processed as per the rules of simple task tag mgmt.
    
    Any Head of Queue Tag or ACA Task Tag command shall be immediately
    processed by the SCSI ULP.
    
    This model ensures that a stream of "simple task tag" traffic only (which is the
    majority of the cases toay, if not all) will not encounter stalled commands on other
    TCP connections when one connection is faulty. It also is in line with the spirit of
    the SAM ordering of task tags.
    
    Anyone desiring end-to-end ordering uses CRN. Since I'm not proposing that
    CmdSN NOT be initialized for simple task tag commands (only that they not be
    used to enforce ordering), they can still be used for flow control that complements
    the current QUEUE FULL based SCSI flow control mechanisms.
    
    Regards,
    Santosh
    
    
    
    begin:vcard 
    n:Rao;Santosh 
    tel;work:408-447-3751
    x-mozilla-html:FALSE
    org:Hewlett Packard, Cupertino.;SISL
    adr:;;19420, Homestead Road, M\S 43LN,	;Cupertino.;CA.;95014.;USA.
    version:2.1
    email;internet:santoshr@cup.hp.com
    title:Software Design Engineer
    x-mozilla-cpt:;21088
    fn:Santosh Rao
    end:vcard
    


Home

Last updated: Tue Sep 04 01:05:40 2001
6315 messages in chronological order