Question about CLEAR TASK SET and ABORT TASK SET

Gerry Houlder gerry.houlder at seagate.com
Wed Jan 16 07:10:21 PST 2013


Formatted message: <a href="http://www.t10.org/cgi-bin/ac.pl?t=r&f=r1301161_f.htm">HTML-formatted message</a>

Thanks all for your replies to my ABORT TASK SET question. It turns out I
was the only one confused about this. In hindsight I wish the ABORT TASK
SET function had been named ABORT I_T NEXUS instead -- that name would have
been more correctly descriptive.
On Wed, Jan 16, 2013 at 9:00 AM, Penokie, George
<George.Penokie at lsi.com>wrote:
> Gerry,****
>
> ** **
>
> Your understanding is not correct.****
>
> ** **
>
> The TST setting has no effect on ABORT TASK SET. The same commands are
> aborted regardless of the TST setting when an ABORT TASK SET is issued. If
> TST is zero there is one task set so then all the commands from the I_T
> nexus on which the command was received would be aborted and any commands
> from difference I_T nexuses are not aborted. If TST is one then there is
> one task set for each I_T nexus so  any time an ABORT TASK SET is received
> it will abort all the commands in that task set but not affect any of the
> commands in the other task sets.****
>
> ** **
>
> The TST setting does affect the operation of the CLEAR TASK SET. If the
> TST is set to zero, meaning there is one task set, then all the commands in
> that task set are cleared regardless of which I_T nexus the command was
> received on. However, if the TST is one then there are separate task sets
> for each I_T nexus, then a CLEAR TASK SET will only clear the task set to
> which it is sent. The effect of this is the same as if an ABORT TASK SET
> was sent to that same task set. ****
>
> ** **
>
> The net is that if TST is set to one the ABORT TASK SET and CLEAR TASK SET
> will abort the same set of commands.****
>
> ** **
>
> This effect is clearly called out in footnote c of table 41 in SAM-5
> revision 12:****
>
> ** **
>
> If the TST field is set to 001b (i.e., per I_T nexus) in the Control mode
> page (see SPC-4), then there is one task set per I_T nexus As a result, no
> other I_T nexuses are affected and CLEAR TASK SET is equivalent to ABORT
> TASK SET.****
>
> ** **
>
> As for history, TST came into existence in SAM-2. In SAM-2 revision 10 the
> following paragraph was in the CLEAR TASK SET section:****
>
> ** **
>
> If the TST field equals 000b in the Control mode page (see SPC-2), the
> target shall perform an action equivalent to receiving a series of ABORT
> TASK requests from each initiator. If the TST field equals 001b the target
> shall perform an action equivalent to receiving a series of ABORT TASK
> requests from only the requesting initiator.****
>
> ** **
>
> I do not see any problem with the way it is currently worded in SAM-5.****
>
> ** **
>
> Bye for now,****
>
> George Penokie****
>
> ** **
>
> LSI Corporation****
>
> 3033 41 St NW****
>
> Rochester , MN 55901****
>
> ** **
>
> 507-328-9017****
>
> george.penokie at lsi.com****
>
> ** **
>
> *From:* owner-t10 at t10.org [mailto:owner-t10 at t10.org] *On Behalf Of *Mark
> Evans
> *Sent:* Tuesday, January 15, 2013 5:36 PM
> *To:* Gerry Houlder; T10 Reflector
> *Subject:* RE: Question about CLEAR TASK SET and ABORT TASK SET****
>
> ** **
>
> Hi Gerry,****
>
> ** **
>
> Someplace along the line I think we got off the beam.  Here is some text
> from SAM-1 with some comments:****
>
> ** **
>
> **a)	   **“An ABORT TASK SET function terminates all tasks for the
> initiator on the specified task set of the target.”  However, there is no
> definition in SAM-1 as to what a “specified task set” is or how it’s
> defined.  The TST field wasn’t defined until SPC-2r2 over two years later;
> and****
>
> **b)	  **“The CLEAR TASK SET function terminates all tasks for all
> initiators on the specified task set of the target.”	Again, there is no
> definition in SAM-1 as to what a “specified task set” is.****
>
> ** **
>
> It seems to me that, since there wasn’t any definition of what a
> “specified task set” was, that the intent was as you described it, and, I
> think how many of us understand it (i.e., CLEAR TASK SET clears all
> commands for all initiators).  ****
>
> ** **
>
> It looks like this stuff stayed out of sync, with the final insult being a
> change that was made in SAM-4r12 based on proposal 06-026r4 from Rob
Elliot.
> ****
>
> ** **
>
> Maybe Rob can reconcile all of this, but it looks to me like we need to
> change the definitions in SAM-5 to something like:****
>
> ** **
>
> *7.3 ABORT TASK SET*
>
> .....****
>
> ** **
>
> Description:****
>
> ** **
>
> This function shall be supported by all logical units.****
>
> ** **
>
> If the task manager maintains one task set for all I_T nexuses as
> specified by the TST field in the Control mode page (see SPC-4), then the
> task manager shall abort all commands in the task set (i.e., the equivalent
> of a CLEAR TASK SET task management function).  If the task manager
> maintains one task set for each I_T nexus as specified by the TST field,
> then the task manager shall abort all commands in the task set that were
> received on the specified I_T nexus.****
>
> ** **
>
> All pending status and sense data for the commands that were aborted shall
> be cleared. Other previously established conditions, including mode
> parameters, reservations, and ACA shall not be changed by the ABORT TASK
> SET function.****
>
> ** **
>
> All SCSI transport protocol standards shall support the ABORT TASK SET
> task management function.****
>
> …..****
>
> ** **
>
> *7.5 CLEAR TASK SET*
>
> .....****
>
> ** **
>
> Description:****
>
> ** **
>
> This function shall be supported by all logical units.****
>
> ** **
>
> The task manager shall abort all commands in all task sets as described in
> 5.6.****
>
> ** **
>
> All pending status and sense data for the task set shall be cleared. Other
> previously established conditions, including mode parameters, reservations,
> and ACA shall not be changed by the CLEAR TASK SET function.****
>
> ** **
>
> All SCSI transport protocol standards shall support the CLEAR TASK SET
> task management function.****
>
> …..****
>
> ** **
>
> ** **
>
> Please feel free to call or send an email to me with any comments or
> questions that you have about this stuff. ****
>
> ** **
>
> Regards, ****
>
> ** **
>
> Mark Evans
> Western Digital Corporation
> 5863 Rue Ferrari
> San Jose, CA 95138
> Email: mark.evans at wdc.com
> Home office: 541.563.7880
> Cell: 408.391.7805****
>
> ** **
>
> *From:* owner-t10 at t10.org [mailto:owner-t10 at t10.org] *On Behalf Of *Gerry
> Houlder
> *Sent:* Tuesday, January 15, 2013 12:11 PM
> *To:* T10 Reflector
> *Subject:* Question about CLEAR TASK SET and ABORT TASK SET****
>
> ** **
>
> I have a question about the effects of the ABORT TASK SET and CLEAR TASK
> SET functions.****
>
> ** **
>
> The scope of these functions is affected by the TST setting (i.e., whether
> the device server maintains a separate task set for each I_T nexus
> (TST=001b) or puts all commands from all I_T nexes in the same task set
> (TST=000b).****
>
> ** **
>
> My historical understanding of these functions is:****
>
>    - ABORT TASK SET is supposed to abort all commands within the defined
>    task set. If TST=000b, this would be all commands from all I_T nexes; if
>    TST=001b, this would be all commands from a particular I_T nexus.****
>    - CLEAR TASK SET is supposed to clear all commands in all task sets,
>    regardless of TST bit setting.****
>
> ** **
>
> The SAM-5 wording regarding these functions seem to describe these
> functions differently.****
>
>    -	The ABORT TASK SET wording seems to require aborting command for a
>    single I_T nexus, which is part of the task set (assuming the device
server
>    has outstanding commands from several I_T nexes) if TST=000b and an
entire
>    task set if TST=001b.****
>
>
>    - SAM-5 wording for CLEAR TASK SET says it only affects one task set,
>    so if TST=000b then it affects all commands and if TST=001b then only
the
>    commands in a single task set (i.e., from one I_T nexus) are affected.*
>    ***
>    - With the current SAM-5 definitions, neither ABORT TASK SET or CLEAR
>    TASK SET will abort all commands in all task sets if TST=0001b. This
seems
>    wrong.****
>
> I think the current SAM-5 wording of these functions is not the best.
> Where do we go from here?****
>
> ** **
>
> ** **
>



More information about the T10 mailing list