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
# 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
# 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
# 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