|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] RE: iSCSI : Command Ordering Proposal.I'm confused on a couple of points: - Are we talking about 'CmdSN' (a field that doesn't exist unless I missed an update since iscsi-03) or 'CmdRN'? - Yes, CRN was added to SAM, but I see nothing in iSCSI that utilizes it. Is this thread suggesting a new field be added? I certainly don't see how the current CmdRN field could fill the roll of SAM's CRN and its current roll concurrently (different rules on initial value, when to reset, etc.) Seems to me like adding a new CRN field for command ordering (if the application so chooses) and re-defining the CmdRN field to only provide the flow control satisfies the requirements without overloading the functionality of a single field. Charles Binford Blue Spruce Networks office/cell: (316) 210-6404 e-fax: (509) 756-4425 -----Original Message----- From: owner-ips@ece.cmu.edu [mailto:owner-ips@ece.cmu.edu]On Behalf Of csapuntz@cisco.com Sent: Friday, January 26, 2001 3:28 AM To: Santosh Rao Cc: csapuntz@cisco.com Subject: Re: iSCSI : Command Ordering Proposal. Santosh Rao <santoshr@cup.hp.com> writes: > [1 <text/plain; us-ascii (7bit)>] > Julian & All, > > Proposal : > ======= > CmdSN should be used to enforce ordering only when the Ordered Task Tag > attribute is set in the SCSI Command PDU. 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. I say "might" because iSCSI now transports SCSI Command Reference Numbers (CRNs) in the command PDU. The CRN is a SAM-2 rev. 15 (and FCP) construct that tells us which commands are older than others. So, in some cases, the CmdSN may no longer be needed at all to tell which commands are "older" than others. Given that we have CRNs, why do we need CmdSNs? Well, CmdSNs provide a couple extra features: - ordering on task management (SAM doesn't defined that CRNs are used with task management) - ordering when application doesn't support CRNs (though couldn't the iSCSI layer fabricate CRNs?) - flow control of the iSCSI target queue -Costa
Home Last updated: Tue Sep 04 01:05:41 2001 6315 messages in chronological order |