HP Caliper User's Guide
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 IP collected at each sampling point is the IP recorded by the kernel (in the process's
save state) when the PMU overflow trap is taken. The kernel does not record a
instruction slot number. Thus, the lowest granularity HP Caliper reports is instruction
bundles.
The IP that HP Caliper records is the address of the next instruction that will execute
when the kernel resumes execution of your application. It is not the address of the
instruction that caused the event that resulted in the PMU overflow trap. This is because
of the delays associated with incrementing the PMU counter, detecting the overflow,
and triggering the trap. This means that the instruction that caused the PMU overflow
will have occurred some number of cycles, typically in the low tens, before the address
being sampled. Thus, the address recorded might or might not point to the instruction
causing the event, depending on pipeline stalls.
The latency between the event triggering the sample and the actual sample is not a
problem if you are using fprof to find hot spots in your application. It is only an issue
if you try to use fprof to find particular instructions that cause the events recorded
by the PMU, in which case you must take the latency into account.
fprof Measurement Report Description 275