Hardware Reference Manual 385
Intel
®
IXP2800 Network Processor
Performance Monitor Unit
11.4 Events Monitored in Hardware
Tables in this section describe the events that can be measured, including the name of the event and
the Event Selection Code (ESC). Refer to Section 11.4 for tables showing event selection codes.
The acronyms in the event names typically represent unit names.The guidelines for which events a
particular component must implement are provided in the following sections.
11.4.1 Queue Statistics Events
11.4.1.1 Queue Latency
Latency of Queue is an indicator of the control logic performance in terms of effective execution of
the commands in the Control/Command queue or, the control logic’s ability to effectively transfer
data from the Data Queue.
This kind of monitoring needs observation of specific events such as:
• Enqueue into the Queue
This event indicates when an entry was made to the queue.
• Dequeue into the Queue
This event indicates when an entry was removed from the queue. The time period between
when a particular entry was made into the queue and when the entry was removed from the
queue indicates the latency of the queue for that entry.
• Queue Full Event
This event indicates when the queue has no room for additional entries.
• Queue Empty Event
This event indicates when the queue has no entries.
Queue Full and Queue Empty events can be used to determine Queue Utilization and bandwidth
available in the queue to determine how to handle more traffic.
11.4.1.2 Queue Utilization
Utilization of Queue is determined by observing the percentage of time each queue is operating at a
particular threshold level. Based on Queue size, multiple threshold values can be predetermined
and monitored. The result of these observations can be used to provide histograms for Queue
utilization. This kind of observation helps us better utilize the available resources in the queue.
11.4.2 Count Events
11.4.2.1 Hardware Block Execution Count
On each of the hardware blocks, events of importance such as number of commands executed,
number of bytes transferred, total amount of clock-blocks that are free, and the total amount of time
all of the contexts in the Microengine were idle can be counted as statistics, for managing the
available resources.