Done Timeout vs. Credit Timeout Race

Leshay, Bruce Bruce_Leshay at maxtor.com
Fri Mar 7 06:01:23 PST 2003


* From the T10 Reflector (t10 at t10.org), posted by:
* "Leshay, Bruce" <Bruce_Leshay at maxtor.com>
*
I think I agree there could be a problem here.  But the problem is easily
avoided if device A can send a "credit_blocked" primitive to device B.
This should cause device B to send a DONE.

Since there are no requirements on when a device must send a credit_blocked,
there is still a problem.  A possible solution is to change the DONE timeout
to be larger than the Credit Timeout timeout.  This assumes that once
receiving
a DONE, a device will respond with a DONE if it doesn't have a Tx frame
request
pending.

			Bruce

-----Original Message-----
From: Day, Brian [mailto:bday at lsil.com]
Sent: Thursday, March 06, 2003 6:48 PM
To: T10 Reflector (E-mail)
Subject: Done Timeout vs. Credit Timeout Race


* From the T10 Reflector (t10 at t10.org), posted by:
* "Day, Brian" <bday at lsil.com>
*

I believe some folks within LSI have thought of a race condition between the
Done Timeout and the Credit Timout timers 
in the SSP link layers.  Consider the case when a device (device A) has
issued DONE and has not extended credit to the
other device (device B) which still has frames to send.  Device A starts its
1ms Done Timeout timer as soon as it sends
the DONE.  Device B will start its 1ms Credit Timeout timer after a new Tx
Frame request is received.

There's a good chance the Done Timeout will occur first, which results in a
BREAK being transmitted by device A.
When device B receives the BREAK, it filters on up through the layers and
ends up as a DELIVERY FAILURE for the frame
that was attempting to get transmitted.

That's doesn't seem like what was the intent for what was really a credit
timeout.

Am I missing something here?  Thanks....

Brian Day
LSI Logic


*
* For T10 Reflector information, send a message with
* 'info t10' (no quotes) in the message body to majordomo at t10.org
*
* For T10 Reflector information, send a message with
* 'info t10' (no quotes) in the message body to majordomo at t10.org




More information about the T10 mailing list