HP DCPI tool



Site information

» Send us your comments


» Download DCPI
» Installing DCPI

Product information

» Frequently asked questions
» Documentation
» Publications
customer times newsletter link



dcpitopcounts - List the instructions with the most event counts


dcpitopcounts [flags] [ image-file ... ]

dcpitopcounts [ -version | -help ]


Given one or more image and profile files, dcpitopcounts identifies the top n (specified by -n} instructions that account for the most samples of a specified event or have the highest values of a specified ratio. The sort key is specified by the command-line argument -s, -st, or -sp.

Here is an example of the output:

   cycles    %   cum  procedure                     pc  instruction                     image    source          imiss

539491658  9.7   9.7  idle_thread     fffffc00002b61c4  cmple   t1, t2, t1              /vmunix  sched.c:3489  2212072
533897953  9.6  19.3  idle_thread     fffffc00002b6184  bne     v0, 0xfffffc00002b624c  /vmunix  sched.c:3443  2085796
196809826  3.5  22.8  gh_zero_memory  fffffc000028e324  ldq     ra, 0(sp)               /vmunix  svipc.c:1596 	809913
142882269  2.6  25.4  wtint           fffffc00005299d4  ret     zero, (ra), 1           /vmunix  pal.s:513    	662423
132399168  2.4  27.8  vm_page_tester  fffffc0000500900  beq     t0, 0xfffffc0000500a38  /vmunix  vm.c:2012     1957336
132105291  2.4  30.1  vm_page_tester  fffffc00005008fc  ldq     t0, 0(s0)               /vmunix  vm.c:2011    	534799
132021162  2.4  32.5  idle_thread     fffffc00002b615c  bne     t0, 0xfffffc00002b624c  /vmunix  sched.c:3443 	591027
131940897  2.4  34.9  idle_thread     fffffc00002b617c  bne     t2, 0xfffffc00002b624c  /vmunix  sched.c:3443 	547525
 95420968  1.7  36.6  wtint           fffffc00005299d0  call_pal        0x3e            /vmunix  pal.s:512    	544339
 66738954  1.2  37.8  gh_zero_memory  fffffc000028e220  ldah    t1, 0(gp)               /vmunix  svipc.c:1569 	585962
The cycles column lists key values (cycles event counts in this case). Two percentage columns may appear if the key is an event count: the % column lists the count as a percentage of the grand total for that event in all the images examined; the cum column lists the cumulative percentage. The procedure column lists the procedure containing the instruction. The pc column lists the instruction's pc. The instruction column lists the disassembled instruction. The image column lists the image containing the instruction. The source column lists the source file and line number according to symbol table information in the image, if available. The key and pc columns are always shown; all others are optional and may be shown or hidden by -show or -hide, respectively. The remaining columns (in this case, imiss) are specified as described below in the section on profile file flags.


-n n
List the top n instructions. n must be positive. The default is 100. dcpitopcounts's execution time increases with n.

{ -show | -hide } [column[,column ...]]
Show the specified optional columns, or show all but the specified optional columns. Valid column names are: per[cent] (or %), cum[ulative], proc[edure], inst[ruction], image, and source. The parts between square brackets may be omitted for brevity. The order of column names does not affect the order of columns in the output. By default, all optional columns except source (i.e., source file name and line number, if available) are shown.

{ -header | -no_header }
Enable or disable the printing of column headings. The default is -header.

{ -one_line_heading | -multi_line_heading }
Print column headings on a single line, or on multiple lines if necessary. The default is -multi_line_heading.

Print version number and exits.

Print a summary of command-line flags.


By default, this command automatically finds all of the relevant profile files. The following options can be used to guide the search for the profile files.

-db <directory name>
Search for profile files in the specified profile database directory. The directory name should be the same name as the one specified when dcpid was started. If this option is not specified, the directory name is obtained from the DCPIDB environment variable. If neither this option, nor the DCPIDB environment variable are set, the name of the directory used by the last invocation of dcpid on this machine is used. If none of these methods succeed in finding the appropriate directory, and no explicit set of profile files is provided via the -profiles option, then the command fails.

-epoch latest
Search for profile files in the latest epoch. This is the default.

-epoch latest-k
Search for profile files in the "k+1"th oldest epoch. For example, search in the third oldest epoch if -epoch latest-2 is specified.

-epoch <name>
Search for profile files in the named epoch. The epoch name should be the name of a subdirectory corresponding to a single epoch within the profile database directory. Epoch subdirectory names usually take the form YYYYMMDDHHMM (year-month-day-hours-minutes). For example, an epoch started on June 11, 2002 at 22:33 would be named 200206112233. If an epoch is given a symbolic name by creating a symbol link to the actual epoch directory, then the symbolic name can also be used as an argument to the -epoch option.

-epoch all
Search for profile files in all epochs.

-ihost <hostnames...> --

Include just those profile files associated with the specified host names. The list of host names must be terminated either via -- or by the end of the option list. The command prints an error message and fails if both the -ihost and -ehost options are specified.

-ehost <hostnames...> --

Exclude any profile files associated with the specified host names. The list of host names must be terminated either via -- or by the end of the option list. The command prints an error message and fails if both the -ihost and -ehost options are specified.

-label <label>
Search for profile files with the specified label(s) (see dcpilabel(1)). This option can be repeated multiple times. If no labels are specified on the command line, profile file labels are ignored entirely. If any labels are specified on the command line, only profile files that have one of the specified labels are used.

-profiles <file names...> --
Use just the profile files named by the specified file names. The list of profile file names can be terminated either via --, or by the end of the option list. The command prints an error message and fails if the -profiles option is used in conjunction with any of the earlier automatic profile finding options. (Use the automatic profile lookup mechanism, or explicitly name the profile file with the -profile option; but don't do both.)


Different kinds of performance counter statistics are available on various models of Alpha CPUs. Alpha 21064/EV4, 21164/EV5 and 21264/EV6 CPUs have traditional aggregate event counters. Alpha 21264A/EV67 and later processors have a mix of some traditional aggregate event counters and newer ProfileMe counters which allow accurate and precise instruction execution profiles on out-of-order processors. (See dcpiprofileme(1) for more information on ProfileMe statistics.)

The default statistic selection on an aggregate counter machine is to select all the aggregate events. The default on a ProfileMe machine is to select ProfileMe retire delay, retire count, !retired (i.e. aborted) count, !notrap (i.e. trap) count, and aggregate cycles.

The options below can be used to select various statistics when available. Use -event for aggregate statistics and -pm for ProfileMe statistics. Note: there can be multiple, mixed -event and -pm specifications. You can also specify the ratio of two statistics (written as stat1::stat2).

-pm pm_stat(+pm_stat)
Select the specified ProfileMe statistic plus any added in by optional +pm_stat specifications. For example, select various trap statistics by specifying the option -pm trap+replays+ldstorder+mispredict.

-pm default(+pm_stat)
Select the default set of ProfileMe statistics plus those added in by +pm_stat specifications. At least one additional statistic is mandatory; -pm default without modifications is extraneous and not allowed. The additional ProfileMe statistics will take the place of the aggregate cycles statistic which is selected by default.

-pm all(-pm_stat)
Select all ProfileMe statistics less those subtracted out. You can repeat the optional -pm_stat specification to deselect multiple ProfileMe statistics. Note: there are a lot of ProfileMe statistics. Unless you deselect a bunch of them, this will select more statistics than are appropriate for human consumption.

-event ag_stat(+ag_stat)
Select the specified aggregate statistic plus any added in by optional +ag_stat specifications. For example, select cycles, icache misses, and data cache misses when the option -event cycles+imiss+dmiss is specified.

-event all(-ag_stat)
Select all aggregate statistics less those subtracted out. You can repeat the optional -ag_stat specification to deselect multiple aggregate statistics.

Select profile events corresponding to all event types, both aggregate and ProfileMe. However, if there are ProfileMe events, this will produce a large number of statistics, which in most cases will not be useful.


[-s | -st | -sp] statistic

The named statistic is used to sort the profile output. For -s or -st, the statistic is assumed to be an aggregate event; for -sp it is assumed to be a ProfileMe statistic. If this option is not specified, the output is sorted so that the procedure or image that accounts for the most cycles is listed first; if the database contains ProfileMe statistics, the sort key is valid:retdelay, and otherwise the sort key is cycles. If neither of these statistics appears in the output, the first column in the output is used as the sort key. If this option is specified, the statistic specified as the sort key does not need to be listed explicitly in a -event or -pm specification; it will be included automatically.


dcpi(1), dcpi2bb(1), dcpi2pix(1), dcpi2ps(1), dcpicalc(1), dcpicat(1), dcpicc(1), dcpicoverage(1), dcpictl(1), dcpid(1), dcpidiff(1), dcpidis(1), dcpiepoch(1), dcpiflow(1), dcpiflush(1), dcpikdiff(1), dcpilabel(1), dcpildlatency(1), dcpilist(1), dcpiprof(1), dcpiprofileme(1), dcpiquit(1), dcpiscan(1), dcpisource(1), dcpistats(1), dcpisumxct(1), dcpitar(1), dcpitopstalls(1), dcpiuninstall(1), dcpiupcalls(1), dcpivarg(1), dcpivcat(1), dcpiversion(1), dcpivlst(1), dcpivprofiler(1), dcpiwhatcg(1), dcpix(1), dcpiformat(4), dcpiexclusions(4)

For more information, see the DCPI project home page http://h30097.www3.hp.com/dcpi.


Copyright 1996-2004, Hewlett-Packard Company. All rights reserved.