Re: [perfmon2] Question about event "BRANCH_INSTRUCTIONS_RETIRED" on x86 machine
Status: Beta
Brought to you by:
seranian
From: 陳韋任 <ch...@ii...> - 2011-03-17 02:07:36
|
Hi, Stephane > The PMU takes some variable amount of time to interrupt after an overflow. > During that time, execution continues. So the skid has nothing to do with "micro-op"? > This "imprecision" cannot be corrected by software but only thru hardware. > That's why you have Intel PEBS, for instance. You mean PEBS makes the skid disappered? Does `perf` or libpfm4 support this? The example I showed was ran on a x86 machine, it seems `perf` does not use PEBS feature. > In summary, except for cycles you should do not expect profiles to point at > instructions that generated the occurrences of the sampling event. That means we cannot trace back a few instructions and say some instruction generates the event? Take "BRANCH_INSTRUCTIONS_RETIRED" for example, 0.00 : 401d56: eb 12 jmp 401d6a <fallbackSort+0x1aa> 2.23 : 401d58: 83 c0 01 add $0x1,%eax Can I say the jmp before add generate the BRANCH_INSTRUCTIONS_RETIRED event? Thanks! Regards, chenwj -- Wei-Ren Chen (陳韋任) Parallel Processing Lab, Institute of Information Science, Academia Sinica, Taiwan (R.O.C.) Tel:886-2-2788-3799 #1667 |