SORT BY:

LIST ORDER
THREAD
AUTHOR
SUBJECT


SEARCH

IPS HOME


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

    Re: iSCSI: changing MaxPDUDataLength



    Eddy,
    
    I am not sure if you're agreeing with me or not... but let me add some comments.
    
    I don't expect the change in PDU size to happen frequently - no change
    in what I earlier said.
    
    You are making an assumption that a target must record the PDU size for every
    PDU  if SNACKs are to be satisfied across changed MaxRecvDataSegmentLength.  
    As Julian earlier said, you don't have to.  I will not go into implementation details, but
    I believe just the value of the DataSN from which the new size is effective should 
    be all that's needed.  Besides, the spec guarantees that only RunLength=0 is used 
    on any SNACK after the change.
    
    You are also implying that targets can declare their changed MaxRecvDataSegmentLength
    anytime just for writes.  There are two problems with this - a) reads and writes may both
    be active in the typical case on an iSCSI connection, and b) a target can declare its changed
    value only if an initiator is allowed to start the Text Request (and I thought you were suggesting
    that we explicitly disallow that).
    
    Hope that clears it up.
    --
    Mallikarjun
    
    Mallikarjun Chadalapaka
    Networked Storage Architecture
    Network Storage Solutions
    Hewlett-Packard MS 5668 
    Roseville CA 95747
    cbm@rose.hp.com
    
    
    ----- Original Message ----- 
    From: "Eddy Quicksall" <eddy_quicksall@ivivity.com>
    To: "Mallikarjun C." <cbm@rose.hp.com>; "Julian Satran" <Julian_Satran@il.ibm.com>
    Cc: <ips@ece.cmu.edu>
    Sent: Tuesday, June 11, 2002 3:18 PM
    Subject: RE: iSCSI: changing MaxPDUDataLength
    
    
    > You are correct and that is exactly how I have had to code it. With fast
    > path and slow path code split between processors, it becomes even worse.
    > 
    > When I read your comments on why the PDU size could change (from way back in
    > March I think), I got did not get the impression that it would happen very
    > often and that in fact it may only happen when you are maintaining
    > allegiance to another connection.
    > 
    > If it is something that is not going to happen very often, then it would be
    > so much easier to have the initiator idle the commands first (all it really
    > needs to do is idle the READ commands). If it is going to change so often
    > that idling would be degrading, I suspect that just doing the negotiation
    > that often would itself be degrading.
    > 
    > And, be aware that the target will probably idle the R commands. Otherwise,
    > it will have to track PDU sizes and that would be really
    > "counter-productive" (especially when there should be no SNACKs on a good
    > connection anyway).
    > 
    > I don't see any problem with the target negotiating its size at any time.
    > And the initiator would not have to idle the WRITE or no-data commands.
    > 
    > Eddy
    > 
    > -----Original Message-----
    > From: Mallikarjun C. [mailto:cbm@rose.hp.com]
    > Sent: Tuesday, June 11, 2002 3:35 PM
    > To: Eddy Quicksall; Julian Satran
    > Cc: ips@ece.cmu.edu
    > Subject: Re: iSCSI: changing MaxPDUDataLength
    > 
    > 
    > Eddy,
    > 
    > I am not clear on why you think the target code becomes messy on 
    > a PDU size change.  The last para in section 4.4 states the following -
    > 
    > "Parameters negotiated by a text exchange negotiation sequence become
    > effective only after the negotiation sequence is completed."
    > 
    > Since the target gets to complete a text negotiation with a Text Response
    > PDU, it can time the applicability of a changed MaxRecvDataSegmentLength.
    > 
    > Requiring that an initiator must idle the connection before changing this
    > parameter, IMHO, is counter-productive when there's a dynamic PMTU
    > degradation in the presence of long-running commands (writes in particular).
    > Once the initiator starts the renegotiation, target would ideally want to
    > quickly 
    > renegotiate its receive size as well to receive ULPDU-contained segments.
    > 
    > In short, seems to me that the draft is saying what you would like.
    > --
    > Mallikarjun
    > 
    > Mallikarjun Chadalapaka
    > Networked Storage Architecture
    > Network Storage Solutions
    > Hewlett-Packard MS 5668 
    > Roseville CA 95747
    > cbm@rose.hp.com
    > 
    > 
    > ----- Original Message ----- 
    > From: "Eddy Quicksall" <eddy_quicksall@ivivity.com>
    > To: "Julian Satran" <Julian_Satran@il.ibm.com>
    > Cc: <ips@ece.cmu.edu>
    > Sent: Tuesday, June 11, 2002 7:56 AM
    > Subject: RE: iSCSI: changing MaxPDUDataLength
    > 
    > 
    > > I think it should be a requirement because if it is not, all target code
    > > will have to have the messy code. Or, we could say that if it is not idle
    > > commands, then the target may reject it.
    > >  
    > > Eddy
    > > 
    > > -----Original Message-----
    > > From: Julian Satran [mailto:Julian_Satran@il.ibm.com]
    > > Sent: Tuesday, June 11, 2002 9:11 AM
    > > To: Eddy Quicksall
    > > Cc: ips@ece.cmu.edu; pat_thaler@agilent.com
    > > Subject: RE: iSCSI: changing MaxPDUDataLength
    > > 
    > > 
    > > 
    > > That is a fair request - we may slip in a recommendation to that effect
    > (in
    > > chapter 11?) 
    > > 
    > > Julo 
    > > 
    > > 
    > > 
    > > Eddy Quicksall <eddy_quicksall@ivivity.com> 
    > > 
    > > 
    > > 06/11/2002 04:28 AM 
    > > Please respond to Eddy Quicksall 
    > > 
    > > 
    > >         
    > >         To:        Julian Satran/Haifa/IBM@IBMIL 
    > >         cc:        ips@ece.cmu.edu, pat_thaler@agilent.com 
    > >         Subject:        RE: iSCSI: changing MaxPDUDataLength 
    > > 
    > >        
    > > 
    > > 
    > > How about if we say that an initiator must not change the MaxPDUDataSize
    > > unless it first idles the commands (at least the ones with the R bit) or
    > if
    > > ErrorRecoveryLevel==0? 
    > >   
    > > That would simplify target code greatly and would meet the design goals;
    > and
    > > since it should be rare to change it, it would be of little impact to idle
    > > the commands for a split second. 
    > >   
    > >   
    > > Eddy 
    > > -----Original Message-----
    > > From: Julian Satran [mailto:Julian_Satran@il.ibm.com]
    > > Sent: Monday, June 10, 2002 8:06 PM
    > > To: Eddy Quicksall
    > > Cc: ips@ece.cmu.edu; pat_thaler@agilent.com
    > > Subject: RE: iSCSI: changing MaxPDUDataLength
    > > 
    > > 
    > > I said only that when you change length you can ask for all PDUs after the
    > > ack! (no need to keep a tall - the old offsets are good up to the hole). 
    > > 
    > > Julo 
    > > 
    > > 
    > > Eddy Quicksall <eddy_quicksall@ivivity.com> 
    > > 
    > > 
    > > 06/11/2002 12:32 AM 
    > > Please respond to Eddy Quicksall 
    > > 
    > >         
    > >        To:        Julian Satran/Haifa/IBM@IBMIL 
    > >        cc:        ips@ece.cmu.edu, pat_thaler@agilent.com 
    > >        Subject:        RE: iSCSI: changing MaxPDUDataLength 
    > > 
    > >       
    > > 
    > > 
    > > 
    > > Julian, 
    > >  
    > > Another problem here is that the target has to calculate the offset from
    > the
    > > DataSN #. And as BegRun can be any value. E.g., BegRun=4 and RunLngth=0
    > > means starting DataSN=4, send all the data for that sequence. 
    > >  
    > > I think it would be a performance hit and waist of memory to keep a tally
    > of
    > > all PDU sizes just for an occasional SNACK. 
    > >  
    > > It's not that it can't be done ... it is more that it is messy and I think
    > > there is a solution that will satisfy the design requirements but keep the
    > > software simpler. 
    > >  
    > > Eddy 
    > > -----Original Message-----
    > > From: Julian Satran [mailto:Julian_Satran@il.ibm.com]
    > > Sent: Saturday, June 08, 2002 10:16 PM
    > > To: Eddy Quicksall
    > > Cc: ips@ece.cmu.edu; owner-ips@ece.cmu.edu; pat_thaler@agilent.com
    > > Subject: RE: iSCSI: changing MaxPDUDataLength
    > > 
    > > 
    > > That is not completely accurate. 
    > > The only problem is when PDU size decreases and then SNACK must be for all
    > > data. 
    > > Target can also keep a mapping of numbers/to offsets (the list should be
    > > small and if it gets long ask for ack (A-bit). 
    > > 
    > > Julo 
    > > 
    > > Eddy Quicksall <eddy_quicksall@ivivity.com> 
    > > Sent by: owner-ips@ece.cmu.edu 
    > > 
    > > 
    > > 06/08/2002 10:54 PM 
    > > Please respond to Eddy Quicksall 
    > > 
    > >         
    > >       To:        pat_thaler@agilent.com 
    > >       cc:        ips@ece.cmu.edu 
    > >       Subject:        RE: iSCSI: changing MaxPDUDataLength 
    > > 
    > >      
    > > 
    > > 
    > > 
    > > 
    > > Thanks,
    > > 
    > > As a target, I won't be able to let it change until all of the outstanding
    > > commands are finished (running with ErrorRecoveryLevel>=1). This is
    > because
    > > I must use the PDU size to compute the offset from a SNACK's
    > > BegRun/RunLength.
    > > 
    > > So, I plan to not give the text response for a MaxPDURecvDataLength in FFP
    > > until I get back an ExpStatSN == next StatSN.
    > > 
    > > This will cause a delay of unknown time before the PDU size can actually
    > > change ... do you see any problem with this?
    > > 
    > > Eddy
    > > 
    > > -----Original Message-----
    > > From: pat_thaler@agilent.com [mailto:pat_thaler@agilent.com]
    > > Sent: Friday, June 07, 2002 1:13 PM
    > > To: eddy_quicksall@ivivity.com; ips@ece.cmu.edu
    > > Subject: RE: iSCSI: changing MaxPDUDataLength
    > > 
    > > 
    > > Eddy,
    > > 
    > > If one uses a message sync and steering that relys on the transport
    > segments
    > > carrying a full PDU, e.g. TCP ULP Framing Protocol (TUF), then if the path
    > > MTU changes one would want to change the PDU data length to fit the new
    > path
    > > MTU.
    > > 
    > > Pat
    > > 
    > > -----Original Message-----
    > > From: Eddy Quicksall [mailto:eddy_quicksall@ivivity.com]
    > > Sent: Wednesday, June 05, 2002 12:24 PM
    > > To: ips@ece.cmu.edu
    > > Subject: iSCSI: changing MaxPDUDataLength
    > > 
    > > 
    > > Does anybody know a case where it is necessary to support a new PDU data
    > > length during full feature phase?
    > > 
    > > Eddy
    > > mailto: Eddy_Quicksall@iVivity.com
    > > 
    > > 
    > > 
    > > 
    > > 
    > > 
    > > 
    > > 
    > 
    
    


Home

Last updated: Tue Jun 11 20:18:47 2002
10674 messages in chronological order