Hi,

I am seeing inconsistencies when I use perf to measure off core events with the 
-a option, compared with using a probe. For example

$ perf -a -A -e rXXXX sleep 5

I am running a simple program that copies arrays. The rXXXX event above counts 
memory accesses.

For comparison, I have a probe from which I can measure the events. To see if 
the measurements are equal, I am comparing events/second collected by each 
method, while the simple array-copy program is running. What I am seeing is 
that the counts provided by perf are 2X to 3X smaller for the memory accesses.

My theory is that for non-core events, when perf is handling counter overflows 
via interrupt in one of the cores, the other cores are still active, but the 
events they are generating are not being counted, because perf is busy handling 
a counter overflow. 

I've tried various tests, but have not been able to prove/disprove this theory. 

If the theory is correct, is there already a way to deal with this issue? Seems 
like you would have to suspend the other cores while handling the counter 
overflow in order to avoid losing events.

Any thoughts, suggestions, ideas, etc. are most welcome.

Thanks,

Chris






--
To unsubscribe from this list: send the line "unsubscribe linux-perf-users" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to