On Thu, 18 Mar 2010, stephane eranian wrote: > Also something else I am wondering about is: hardware page walker. > > Does that influence instruction_retired somehow?
I hadn't thought about the hardware walked case. Page faults definitely affect the count; they tend to be rare enough in a long running program that they are lost in the noise compared to other hardware interrupts; but if there's a lot of memory churn (or if you're on a busy system and the TLB gets flushed) you'll see more of them. About 2 years ago I spent a large amount of time trying to get an exact equation for what causes the nondeterminisms in retired_instructions. Part of the problem is at the time there was no good way to quantify interrupts at a per-thread level. It might be possible now using perf_events. AMD machines have an "interrupts_taken" hardware counter but I was never able to get it to match up with the results I saw. Also, the per-process major/minor page fault values reported by the kernel were sometimes close, but never exactly equal to, the number of extra retired instructions you'd expect for page fault heavy microbenchmarks. And as a side note on my previous post, using static compiled binaries might not be as helpful as I thought. When I ran the test code enough times there was still some small variation; I think for a small microbenchmark the difference was that the execution time was much shorter so that there was less time for interrupts to happen. Hash tables, especially ones that depend on virtual addresses, are a prime source of non-determinism, and that's what makes me suspicious of the dynamic linking code. Vince vweav...@eecs.utk.edu ------------------------------------------------------------------------------ Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev _______________________________________________ perfmon2-devel mailing list perfmon2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/perfmon2-devel