Dear All,
Recently I learn to analyze the performance with gator+streamline, and find that, gator can collect many types of cpu events which are entirely different from those collected by linux perf tool.
Take armv7-cortex-A9 for example, gator can collect events such as:Cache:Instruction refillCache:Inst TLB refillCache:Coherency missCache:Prefetch hitsCache:Prefetch linefillsCache:TLB stallInstruction:LoadInstruction:StorePLE:Cache line rq completedPLE:Request completedStalls:Inst main TLB missStalls:Inst micro TLB miss ...
However, perf tool can collect hardware,software and hardware-cache events such as: instructions cache-references cache-misses branch-instructions OR branches branch-misses stalled-cycles-frontend OR idle-cycles-frontend stalled-cycles-backend OR idle-cycles-backend page-faults OR faults context-switches OR cs cpu-migrations OR migrations minor-faults major-faults alignment-faults L1-dcache-loads L1-dcache-load-misses L1-dcache-stores L1-dcache-store-misses L1-icache-load-misses dTLB-load-misses dTLB-store-misses iTLB-load-misses branch-loads branch-load-misses
My questions:
1. Are there matchable correspondences between gator events and perf events ?
2. If not, could I collect perf events mentioned above just by gator(or an improved gator) ? I want to get more valuable hardware event data from gator.
Thank you very much !
The hardware and hardware-cache events are a generic architecture independent abstraction of the PMU events. gator shows you the actual events supported by the PMU. You can see the mapping that perf makes here.
The software events can also be collected by gator but only in a recent version 6.7+ (DS-5.29) if I'm not mistaken.
So in summary, yes gator can collect all of the hardware, software and hardware-cache event plus others, they will just have specific names when using gator not the generic ones seen in perf list.