Drwho?
09-09-2009, 11:20 AM
guys,
I see a lot of people using tools to measure performance information out of the MSR (Internal registers for performance measurement, like trash cache information, frequency measurement etc ...)
Be aware that when you do so, you want to be using only one program at a time. It is usually not a problem, because the programs usually program the MSR at start up, but recently, many program started to sample faster.
In the case of Turbo measurement tools, they have to be sampling faster, because they are measuring something over time. When you do so, tools will be programming the MSRs in parallele, and only one set of MSR is available for each core, so, you will be running into situation where the MSR are program by program A while program B is reading it ... :yepp:
MSRs are designed to measure information that are not application specific, they measure deep into the system and those registers are not "thread protected", they are design to measure the entire machine.
So, golden rule, and it is valid for every brand of CPU, if you use fast sampling MSR programs, make sure you run only one of them.
I checked, this is clearly documented into both processor brand documentations.
I hope it does clarify for some of you guys, and it help you to understand the details about how those too work.
for deeper information: http://www.intel.com/products/processor/manuals/index.htm
in Vol 3B, appendix B1, http://www.intel.com/Assets/PDF/manual/253669.pdf , the entire mecanism is explained.
if you are interested into knowing more about this MSRs, please download the free evaluation of vTune, and ready the documentation, I am always here to help if you need... help yourself, become an expert!
Francois
I see a lot of people using tools to measure performance information out of the MSR (Internal registers for performance measurement, like trash cache information, frequency measurement etc ...)
Be aware that when you do so, you want to be using only one program at a time. It is usually not a problem, because the programs usually program the MSR at start up, but recently, many program started to sample faster.
In the case of Turbo measurement tools, they have to be sampling faster, because they are measuring something over time. When you do so, tools will be programming the MSRs in parallele, and only one set of MSR is available for each core, so, you will be running into situation where the MSR are program by program A while program B is reading it ... :yepp:
MSRs are designed to measure information that are not application specific, they measure deep into the system and those registers are not "thread protected", they are design to measure the entire machine.
So, golden rule, and it is valid for every brand of CPU, if you use fast sampling MSR programs, make sure you run only one of them.
I checked, this is clearly documented into both processor brand documentations.
I hope it does clarify for some of you guys, and it help you to understand the details about how those too work.
for deeper information: http://www.intel.com/products/processor/manuals/index.htm
in Vol 3B, appendix B1, http://www.intel.com/Assets/PDF/manual/253669.pdf , the entire mecanism is explained.
if you are interested into knowing more about this MSRs, please download the free evaluation of vTune, and ready the documentation, I am always here to help if you need... help yourself, become an expert!
Francois