----------------------------------------------------------------------------------------------

[Minimum function entries: 0, percent cutoff: 1.00, cumulative percent cutoff: 100.00]

By using a custom HP Caliper script, you can restrict the branch-trace buffer to only include branches with specific prediction results, both for target prediction and taken/not-taken prediction.

Figure 34 (page 169) shows comments from the branch measurement configuration file about the configuration variables that allow you to customize the branch trace data HP Caliper collects.

Figure 34 Comments in the branch Measurement Configuration File

#------------------------------------------------

#Criteria for limiting types of branches recorded

#branch_taken_criterion

#

 

#VALUES:

 

# Caliper_no_branches

- do not record branches taken/not taken

#

NOTE: Caliper_no_branches results in no

#

branch traces

#Caliper_not_taken_branches - record branches not taken

# Caliper_taken_branches

- record branches taken

#Caliper_all_branch_outcomes - record both taken and not taken branches

branch_taken_criterion= Caliper_all_branch_outcomes

#target_prediction_criterion

#

#VALUES:

#Caliper_predictions_target_miss - record branches that mispredict target

#Caliper_predictions_target_hit - record branches that predict target

#Caliper_predictions_target_all - record branches that predict or mispredict

#

target

#

 

target_prediction_criterion= Caliper_predictions_target_all

#whether_prediction_criterion

#VALUES:

#Caliper_predictions_whether_miss - record branches that mispredict branch

#

taken/not taken

#Caliper_predictions_whether_hit - record branches that correctly predict

#

branch taken/not taken

#Caliper_predictions_whether_all - record branches regardless of success of

#the taken/not taken prediction

#

whether_prediction_criterion= Caliper_predictions_whether_all

#branch_type_criterion

#NOTE:

#This criterion is only available on Itanium 2 processors

#VALUES:

#Caliper_branch_type_all

#Caliper_branch_type_ip_rel

#Caliper_branch_type_return

#Caliper_branch_type_non_return_indirect

#

PMU Sample Hits Outside Function Range

Some shared libraries, in particular libc, have significant stub code at the end of the ELF text segment. These stubs are not technically part of any function. In the cases where these stubs are disassembled, HP Caliper displays only the bundle that incurred the hit without any context information.

scgprof Reports Require Kernel Patch

On HP-UX 11i v2, if you run the scgprof measurement, you might see this error message:

PMU Sample Hits Outside Function Range 169

Page 169
Image 169
HP UX IPFilter Software manual PMU Sample Hits Outside Function Range, Scgprof Reports Require Kernel Patch