This page contains information on the paper "Can Hardware Performance Counters be Trusted?" which was presented at the 2008 IEEE International Symposium on Workload Characterization (IISWC) on 16 September 2008 in Seattle, Washington.
This paper investigates how deterministic the retired instruction performance counter is across multiple generations of x86 processors. Various workarounds are presented that reduce variation on x86 Linux systems.
The most complete version of this paper is the tech report version, CSL-TR-2008-1051.
Here is the version as it appeared in the conference proceedings:
Here are the slides from the presentation:
The perfmon2 tool and patches used for gathering performance counter data can be found at the link below. All changes we have made to improve perfmon support have been submitted to the perfmon maintainers and are included in the newest releases.
Qemu:
Valgrind:
Pin: