8. Performance > Congestion Detection and Management
198
Tsi578 User Manual
June 6, 2016
Integrated Device Technology
www.idt.com
8.5.1
Congestion Registers
The Tsi578 contains registers in every port that can be used for the detection and monitoring of ingress
and egress queue levels. The registers and their descriptions are as follows:
•
“RapidIO Port x Transmitter Output Queue Depth Threshold Register” on page 350
: This register
contains tick timer values for the Congestion Period timer and the Leak Rate timer. This register
also contains the Depth threshold which is compared against the number of packets in present in
the egress queue.
— Congestion Period (CONG_PERIOD): This value sets the tick interval for the Congestion
Period Timer. At the timer expiry, the Congestion Counter is incremented by 1 if the counter
value is greater than zero. The Congestion Period Counter indicates the number of tick
intervals that the number of packets in the egress queue has exceeded the preset value in the
DEPTH field of the register between the current and previous register reads of the Congestion
Period Counter.
— DEPTH: This field sets the threshold which exceeded by the number of packets in the egress
buffer cause the Congestion Counter to be incremented.
— Leak Rate (LEAK_RT): This register field is the count for the Leak Rate tick timer. At every
tick of the Leak Rate tick timer, the Congestion Counter is decremented.
•
“RapidIO Port x Transmitter Output Queue Congestion Period Register” on page 354
: This register
contains only one field, CONG_PERIOD_CTR. This is the Congestion Period Counter. This
counter is incremented at every tick whose period is set by the CONG_PERIOD field when the
Congestion Counter is greater than zero. This register is keeps a running count, and is only cleared
with a register read.
•
“RapidIO Port x Transmitter Output Queue Congestion Status Register” on page 352
: This register
contains two fields, the Congestion Counter and the Congestion Threshold.
— Congestion Counter (CONG_CTR): This field keeps a running count of the number of times
that the number of packets in the egress queue exceed the DEPTH field setting. The test to
increment this counter is performed when a packet has arrived in the egress buffer in its
entirety. The test is not synchronous to any clocks.
The Congestion Counter is decremented on Leak Rate timer ticks and on Error Rate Bias timer
ticks, and is cleared by writing 1 to the OUTB_DEPTH bit in the RIO Port x Interrupt Status
Register.
— Congestion Threshold (CONG_THRESH): This is the threshold value which if exceeded by
the Congestion Counter, sets the OUTB_DEPTH interrupt bit in the RIO Port x Interrupt
Status Register.
•
“RapidIO Port x Reordering Counter Register” on page 360
: This register contains two fields
which are used to track when a packet in an ingress buffer is unable to make forward progress to an
egress buffer because the egress buffer cannot accept any more packets of the priority of the
received packet. Packet reordering takes place when a packet of higher priority is blocked by a
packet of lower priority.
— Counter (CTR): This is a counter which is incremented each time the switch fabric selects a
packet in the ingress queue that is not at the head of the queue for transmission to an egress
buffer.