5NP4G
Egress Enqueuer / Dequeuer / Scheduler
6.4.2 Configuring Flow Queues
Table 6-4 on page 188 illustrates how to configure a flow QCB using the same set of Scheduler parameter
combinations found in Table 6-3: Valid Combinations of Scheduler Parameters on page 182.
Table 6-4. Configure a Flow QCB
QoS
Low latency with Guaranteed BW shaping
Normal latency with Guaranteed BW shaping
Best Effort
QCB.P
QCB.SD
≠ 0
≠ 0
0
QCB.PSD
QCB.QD
0
1
1
1
1
1
0
0
0
0
0
≠ 0
≠ 0
≠ 0
≠ 0
Best Effort with Peak Rate
0
≠ 0
0
Normal latency with Guaranteed BW shaping with Best Effort
Normal latency with Guaranteed BW shaping with Best Effort, and Peak Rate
≠ 0
≠ 0
≠ 0
6.4.2.1 Additional Configuration Notes
• Once the scheduler is enabled via the Memory Configuration Register, the picocode is unable to enqueue
directly to a target port queue. To disable the Scheduler, the software system design must assure that the
Scheduler is drained of all traffic. The control access bus (CAB) can examine all target port queue counts;
when all counts are zero, the Scheduler is drained.
• A flow queue control block (QCB) must be configured for discards (TP = 41). A sustained service rate
must be defined (SSD ≠ 0). A peak service rate and queue weight must not be specified (PSD = 0 and
QD = 0).
• Two flow QCBs must be defined for wrap traffic. One must be defined for guided traffic (TP = 40), and one
for frame traffic (TP = 42). For these QCBs, the peak service rate and sustained service rate must not be
specified (PSD = 0 and SSD = 0). Queue weight must not be zero (QD ≠ 0).
6.4.3 Scheduler Accuracy and Capacities
Scheduler capacity and accuracy is affected by the scheduler_tick value and the DRAM refresh overhead,
both of which are controlled by configuration of the DRAM Parameter register 11/10 (bit 6) and refresh rate
(bit 13) fields. These values limit the total number of packets per second that can be processed by the sched-
uler. When this limit is exceeded, the packets are delayed, scheduler accuracy is diminished, and best effort
traffic might not be serviced at all.
The total number of packets that can be scheduled is determined as follows:
packets/second = (1 - refresh_overhead) / tick_rate
For example, if the tick_rate = 165 ns and the refresh_overhead = 1%, the scheduler will accurately schedule
6 Mpps.
For a given media rate, the minimum sustainable packet size for the scheduler is determined as follows:
bytes/packet = (1 / (1 - refresh_overhead)) * tick_rate/packet * media_rate (b)/(s) * 1 (byte)/8 (b)
For example, if the tick_rate = 165 ns, the refresh_overhead = 1%, and the media_rate = 2.48 Gbps, the
minimum sustainable packet size is 51.7 bytes.
Egress Enqueuer / Dequeuer / Scheduler
Page 188 of 607
5NP4G Network Processor, Data Sheet, DS-0125-02
January 2006