HP Caliper User's Guide

How cycles Metrics Are Obtained
HP Caliper obtains cycles metrics using the execution trace buffer (ETB) of the
performance monitoring unit (PMU). The ETB is configured to capture IPs of retired
instructions. When a bundle is retired, the IP address and the number of elapsed cycles
to retire the bundle are recorded in the ETB. The dual-core Itanium 2 and Itanium 9300
quad-core processor ETB is a circular buffer and can contain up to 16 entries.
HP Caliper takes samples by using the overflow of one of the PMU's event counters
as a sampling trigger. Samples are taken every Nth PMU event, where both N and the
sampling event are defined in the cycles measurement configuration file in the HP
Caliper home directory in the config subdirectory. You can override the value in the
measurement configuration file by using the -s option.
The list of processor metrics you can use for the sampling event are available from the
file itanium2_cpu_counters.txt, located in the HP Caliper home directory in the
doc/text subdirectory.
The ETB collected at each sampling point can contain up to 16 IPs. By default, cycles
will pick the youngest IP sample from the ETB. However, all the 16 IP entries are
processed to collect the elapsed cycles (Cycles Per Bundle) information. If two
consecutive IP entries have the same bundle address, it is treated as a split issue (that
is, it required multiple cycles to issue that bundle).
You can use the --etb-freeze-delay and --etb-walkback-cycles options to
correlate the performance monitoring events to IP values. The option
--etb-freeze-delay changes the way in which the ETB collects the IP samples.
The option --etb-walkback-cycles changes the way in which HP Caliper picks
the IP sample from the 16 IP entries in an ETB sample.
248 Descriptions of Measurement Reports