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

Reply via email to