96-277r1 - Proposed Change in QErr for SPC-2

Edward A. Gardner gardner at acm.org
Mon Feb 17 05:02:10 PST 1997

* From the SCSI Reflector (scsi at symbios.com), posted by:
* "Edward A. Gardner" <gardner at acm.org>
Jim McGrath wrote:

>      Ralph,
>      On the QErr bit proposal, you recently sent:
>       It also must be noted that the proposed change in the definition of
>       QErr affects the already approved proposal defining the Basic
>       queuing model (96-198r4).  So that the Basic queuing model can be
>       functional in a multi-initiator configuration, I propose that the
>       previous Basic queuing model approval be amended to use QErr=11b
>       its associated definition above wherever 96-198r4 uses QErr=1.
>        I disagree with this section of the proposal.  The focus of the
> simple queuing was precisely on an environment without multiple

But Ralph's wording changes make no functional changes whatsoever to simple
queuing as it was defined and approved.  As it's proponents have stated,
simple queuing addressed single initiator systems.  With a single
initiator, the behavior of QErr=01 and QErr=11 (in Ralph's proposal) is
absolutely identical.

There is general consensus on the behavior of full queuing, and on the
behavior of simple queuing in single initiator systems.  The unresolved
question is the behavior of simple queuing in multi-initiator systems.  The
major past proponents of simple queuing, in particular Jim McGrath, have
repeatedly stated that they do not care about such systems, that their
goals / concerns / desired use of simple queuing is exclusively in single
initiator systems.  Therefore they should not care about the behavior of
simple queuing devices in multi-initiator systems, which is all that Ralph
is addressing.

If we exclude inventing some new, unique behavior for a multi-initiator
simple queuing device (i.e., device behavior changes when a second
initiator shows up), there are only three possibilities (this is an
exhaustive list):

1.  State that simple queuing with multiple initiators is not supported
and/or prohibited.

2.  State that simple queuing requires (Ralph's definition of) QErr=01.

3.  State that simple queuing requires (Ralph's definition of) QErr=11.

These all lead to identical behavior for simple queuing with a single

I personally dislike #1, and I believe I heard that as the sentiment of the
discussion on this at the working group.

The arguments by Jim McGrath are statements in support of #1.  He is saying
that simple queuing is not intended for all environments, that "it cannot
be used in all environments" (quoted from Jim's response).

Ralph's justification gives a rationale for why #2 is undesirable, that in
some/most/all multi-initiator systems QErr=01 substantially complicates
error recovery.  It is not clear that there is any good use for QErr=01,
except to allow/report backwards compatibility with devices that have
already shipped.

Choice #3 falls out through straightforward process of elimination.

Unless someone can refute Ralph's rationale for all SCSI systems (not just
demonstrate that it is possible to live with QErr=01 in selected
environments), our only consistent alternatives are to prohibit
multi-initiator simple queuing systems, or to accept Ralph's proposal.  Of
the two, I think Ralph's proposal is the simplest.

Edward A. Gardner               gardner at acm.org
Ophidian Designs                719 593-8866 voice
1262 Hofstead Terrace           719 593-8989 fax
Colorado Springs, CO  80907
* For SCSI Reflector information, send a message with
* 'info scsi' (no quotes) in the message body to majordomo at symbios.com

More information about the T10 mailing list