Community
cancel
Showing results for 
Search instead for 
Did you mean: 
62 Views

MSRs read time resolution

Hello all, I am trying to understand how fast I can get updated information from the IA32_THERM_STATUS msr to monitor the cores temperature. I am using Linux 3.19 and the msr kernel module on a Haswell laptop core i7 processor. It seems to work fine down to a sampling time of 1ms, but if I go below that it seems that the values only change every 1ms anyway. For instance, if I sample at 500us there seem to be always pairs of the same temperature value. I looked at the msr kernel code but I did not find anything that would limit the time resolution there (it pretty much just translates the pread to assembly code). Is there a limitation at the hardware level? Thanks for any hints; I apologize if the information is somewhere and I missed it.
0 Kudos
3 Replies
McCalpinJohn
Black Belt
62 Views

Intel documentation mentions the 1 millisecond update time for the power and temperature MSRs in a couple of places.  I have seen it in the chapter on power monitoring in Volume 3 of the SW Developers Manual, and I think it is also in the Uncore Performance Monitoring Guides for the various Xeon E5 processors.

62 Views

Thanks John for your reply. So probably 1ms is as fast as one can go due to the hardware.

John D. McCalpin wrote:

Intel documentation mentions the 1 millisecond update time for the power and temperature MSRs in a couple of places.  I have seen it in the chapter on power monitoring in Volume 3 of the SW Developers Manual, and I think it is also in the Uncore Performance Monitoring Guides for the various Xeon E5 processors.

McCalpinJohn
Black Belt
62 Views

Yes.   One of the manuals says that these power and temperature MSR values are only updated about once per millisecond, so querying them more frequently is just extra overhead.  

Reply