gator/Streamline: How to collect perf hardware or software events?

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 refill
Cache:Inst TLB refill
Cache:Coherency miss
Cache:Prefetch hits
Cache:Prefetch linefills
Cache:TLB stall
Instruction:Load
Instruction:Store
PLE:Cache line rq completed
PLE:Request completed
Stalls:Inst main TLB miss
Stalls: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.