P1394 Mail Archive: FW: P1394> unordered execution

FW: P1394> unordered execution

Turner, Randy (rturner@sharplabs.com)
Sun, 8 Mar 1998 22:24:59 -0800

Sorry everyone, my comments on the previous message were not
Discernable or readable from Nagasaka-san's mail. I've modified the
Message so you can pick out my comments. My comments are
Marked <RT>

Randy

-----Original Message-----
From: Turner, Randy [SMTP:rturner@sharplabs.com]
Sent: Sunday, March 08, 1998 9:10 PM
To: 'Nagasaka Fumio'; p1394@pwg.org
Cc: PWG-C mailing
Subject: RE: P1394> unordered execution

See my comments below...
Randy

-----Original Message-----
From: Nagasaka Fumio [SMTP:Nagasaka.Fumio@exc.epson.co.jp]
Sent: Sunday, March 08, 1998 5:14 PM
To: p1394@pwg.org
Cc: PWG-C mailing
Subject: P1394> unordered execution

Does SBP-2 printing protocol need to have out of order execution
for ORB
list?
Let me assume one case shown below.
When an initiator puts an input ORB in linked list of ORBs.
[out::ORB] - [out::ORB] - [out::ORB] - [in::ORB] - [out::ORB] ?
If our SBP-2 target consume them by in order execution. The
target
will stop at fourth ORB and will examine whether it has reverse
data
or not. It is normal and reasonable.
We might have an analogy of C language source code outlines below.
{
putchar(..); // step 1
putchar(..); // step 2
putchar(..); // step 3
getchar( ); // step 4 * INPUT*
putchar(..); // step 5
?..
}
This process will stop at step 4 and will wait input from TTY.
OK?, next, let?s go back to SBP-2 target problem. Even if
the target does not have any thing to replay at step 4. The
transport layer shall *not* return ?no data flag? or ?something
to say there is nothing to reply?. The target?s application may
reply
?no data? , ?this is data? or any thing. This action shall be
taken
by application?s responsibility.

<RT>Yes, the requesting application code would not issue a READ
operation if no application <RT>response was expected. The application
would return an application level response *no-<RT>data*, or the
application would return some other appropriate response.

By the way, for second case is shown below.
When the initiator has some requests which shall be delivered to
each logical channels like these,?(#k means logical channel
?k?).
[out::#1::ORB] - [out::#1::ORB] - [out::#1::ORB] - [in::#2::ORB]
-
[out::#1::ORB] ?
Then if the transport layer in the target waits reverse data is
passed
through from the application, fifth ORB which shall be delivered
to
channel #1 will not be delivered while the transport is pending
on
fourth ORB.

<RT>We should never have a single ORB list processing multiple logical
channels. Each ORB <RT>list handles a single logical channel, at least
according to the current profile document <RT>decisions we have made.

If our SBP-2 protocol may allow out of order execution. The target is
able to consume sixth ORB earlier than fifth. Then the protocol provides
concurrent executive opportunity for each logical channels.
* Shall the transport provide out of order execution ?

I want to say no. The initiator shall place [input::ORB] if it expects
reverse data will be sent from the target. I would like to say, the
currents SBP-2 protocol has enough facility.
I am curious why unordered execution is required for ?HPT?.
May be there are something I am missing.
Thank you, best regard.
--------------------------------------------
-------------------------------
Fumio Nagasaka
Epson Software Development Laboratory Inc.
Tel +81 268 25 4111, Fax +81 268 25 4627
E-mail to nagasaka.fumio@exc.epson.co.jp