Could not get the TLB_miss etc . using the collect command

I could get result by using the command : collect -h IC_miss/0,hi,"MyProgram" and

command: er_print -functions test.1.er.

I tested it in the Sun T1 machine,the SunStudio 11 and the Solaris 10 OS.

but when I executed : collect -h ITLB_miss/0,hi, "MyProgram" and er_print -functions test.2.er commands .There is no result.

it shows as follow:

Functions sorted by metric: Exclusive ITLB Misses

Excl. ITLB Incl. ITLBName

MissesMisses

00<Total>

Can anybody help me resolve this problem?Thank you very much!

Message was edited by:

makingsoft

[615 byte] By [makingsofta] at [2007-11-27 9:42:52]
# 1

On a T1 machine, only the instruction count HW counter can be used

for profiling. The other counters do not generate interrupts and

will not report any data.

If you were using the latest version of Sun Studio (Studio 12),

or the patched version of Sun Studio 11 (patch 120761-03),

collect would only allow the one counter that works in HW.

(Was collect command bug 6390451.)

Marty Itzkowitz

marty.itzkowitza at 2007-7-12 23:47:09 > top of Java-index,Development Tools,Solaris and Linux Development Tools...
# 2

I got information using the command:

collect -h IC_miss/0,hi,"MyProgram" ander_print -functions test.1.er.

The result is as follows:

Functions sorted by metric: Exclusive IC_miss Events

Excl.Incl.Name

IC_miss IC_miss

EventsEvents

9049780 9049780<Total>

9049780 9049780collector_lost_hwc_overflow

0 9049780<Unknown>

I still don't understand where is the problem and what can i do to get the ITLB_miss information . Can anybody give me some suggestions? Thanks.

Message was edited by:

makingsoft

makingsofta at 2007-7-12 23:47:09 > top of Java-index,Development Tools,Solaris and Linux Development Tools...
# 3

You do not have valid data for IC_miss, either. All the counts

are attributed to collector_lost_hwc_count. That routine

is invoked when the run terminates, and tries to get the last

bit of data from the counter. In this case, since the counter

never interrupts, all of its counts are read in that routine, so

there is no useful information.

The ITLB_miss counter is a bit different from the others, in

that the ITLB miss itself triggers a trap to the kernel. We have

not validated the T1 ITLB_miss counter since it can not interrupt,

so it would not work for profiling.

I believe cputrack and cpustat do work on the T1, and they

can give program- or system-wide information, respectively.

But they can't relate data to your source code.

Marty Itzkowitz

marty.itzkowitza at 2007-7-12 23:47:10 > top of Java-index,Development Tools,Solaris and Linux Development Tools...