SORT BY:

LIST ORDER
THREAD
AUTHOR
SUBJECT


SEARCH

IPS HOME


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

    Re: Avoiding deadlock in iSCSI



    
    > Note that SCSI targets, when faced with getting a command queue full, do not
    > stop reading from the interconnect.  If more commands are received then they
    > respond with a QUEUE FULL status.  If data is received then they receive
    > that data without regard for the status of the command queue (as long as it
    > is data for an already queued command).  This eliminates the potential for
    > deadlock between command and data queues.
    
    Jim, 
    
    I believe there is problem with the current SCSI behavior. Consider the
    following scenario for a host with a pathological queue of 1
    
    
    	1) Initiator sends command 1 (ORDERED attribute)
    	2) Initiator sends command 2 (ORDERED attribute)
    	3) Initiator sends command 3 (ORDERED attributge)
    	4) Target reads command 1
    	5) Target reads command 2
    	6) Target returns queue full for command 2
    	7) Command 1 completes
    	8) Target reads command 3
    	9) Target executes command 3
    
    We have just violated the ordering constraints of the application by
    doing command 3 before command 2.
    
    > Potentially you can have a situation where multiple commands already at the
    > target have only part of their data transmitted, with the remainder still at
    > the initiator(s), and then run out of buffer space for data.  If the target
    > uses a credit model to pace the reception of data, it can also make sure
    > this never happens.  Unsolicited data, even for commands already queued, can
    > end up creating this deadlock - which is why unsolicited data systems either
    > have to have a tight limit on the resources it can use (e.g. low login BB
    > credit in Fibre Channel terms) or some sort of clean (i.e. not IO
    > terminating) rejection mechanism from target to initiator (like in USB).
    
    Unsolicited data is NOT a problem with the current iSCSI spec. We allow
    the target to always drop data and request data transfers 
    with an RTT.
    
    -Costa
    


Home

Last updated: Tue Sep 04 01:07:22 2001
6315 messages in chronological order