Link priority and the pause control token

Technical questions regarding the XTC tools and programming with XMOS.
User avatar
segher
XCore Expert
Posts: 844
Joined: Sun Jul 11, 2010 1:31 am

Post by segher »

Ha yes, that is a rather big gotcha.

The simplest way to avoid those problems is to never send
a PAUSE until you have sent more bytes than the network
can buffer -- your circuit will be fully set up before the PAUSE
token enters the network. [It is easy to measure how much
can be buffered, at least if all routes are symmetric: just send
to a channel but don't read from it on the other side].
This can be refined quite a bit, considering chokepoints
and queuing, and knowing all traffic on the network helps
even more, but this worst case already gives a pretty
small packet size.

Or did I miss something? I've never seen the problem in
practice, it won't show up until you overload the network
real good AFAICS?