> The initiator is already limiting the number of ORB's not to exceed
> maximum reorderable number.
(... number of ORBs in the active task set...)
> By making this condition a little severe, I think we can avoid
> unrecoverable situation without retry interaction between initiator
> and target.
> The descriptive condition will be as follows;
> The initiator limits
> the number of ORB's not to exceed maximum reorderable number,
> to append the ORB that has sequence identifier target can identify
> as ahead from last completed one.
> If there is no outstanding ORB for the queue, the initiator appends
> ORB that has sequence identifier adjusted to the next number of last
> completed one.
> The conditional expression will be as follows;
> IF ((Number of outstanding ORB for the queue)
> <= (MAX_TASK_SET_SIZE - n))
(... the first part is always true!)
> ((((appending sequence id)-(last completed sequence id)) MOD (2^m))
> < (2^(m-1)))
> THEN append ORB with (appending sequence id)
> IF ((Number of outstanding ORB for the queue) = 0)
> THEN adjust (appending sequence id) to (last completed sequence
> id) + 1 and append ORB,
> where "n" is room for another queue, and "m" is number of bit of
> sequence id.
Unfortunately, the target isn't going to always recieve
sequence numbers which are monotonically increasing. This is
the consequence of an ABORT_TASK applied to the middle of
a queue. The "sequence number" space has suddenly become
Suddenly a sequence number space >> MAX_TASK_SET_SIZE doesn't
guarantee that we can detect order in an error recovery
situation. Both ends may differ as to where they believe the
"last completed sequence number" is!
> If the target finds initiator is ahead, target can simply update
> recorded identifier with the new value specified by the initiator.
> Am I missing something?
I think so. Start aborting single tasks from the middle of a
queue and watch what happens to the "sequence numbers" from the
SBP-2 requires the support of ABORT TASK.
-- Greg Shue Hewlett-Packard Company All-in-One Division firstname.lastname@example.org ----------------------------------------------------------------