I apologize but I only now had the time to review this.
Here is a quote for one of the replies in that thread. Both the author of the coretemp.c driver and the guy I quoted have used reverse engineering to reach this assumption(that you can locate the TjMAX value which is either 85c or 100c). While it might be incorrect, I wonder how it has proved to be correct in so many cases and tests? Oddly enough, no one has never objected the assumption that the TjMax is either 85c or 100c. In addition, as mentioned in the quote they are verifying this data according to a certain bit in a specific register. How did they get this logic correct in so many cases if this assumption is incorrect?Next you have to assume that the Tjunction is 100 degrees Celsius and if bit 30 of MSR 0xEE is set then it is 85 degrees Celsius. At least that is what I have found by analyzing Linux Coretemp driver. After you have correct Tjunction, reading the DTS is simple.
EDIT: A VERY important note - It seems that the DTS delta temperature is calculated from the PROCHOT# temp(TCC Activation temp). Maybe the right way to calculate the temperature would just be to supply the DTS value(which is negative), and to know that when it reaches 0 - the CPU will start throttling.
The problem in this case is that PROCHOT# may differ from one CPU to another and it will make it impossible to keep an appropriate track on CPU temps that way. Is there a way to read the PROCHOT# value in each CPU? To my understading this is impossible.
A nice test to see if this is correct would be to see if indeed several tested processors start throttling at 85C. If I remember correctly this is indeed the case. That would mean that while the temperature isn't really 85C(since it is related to PROCHOT#), it does give some kind of indication on the temps. If the PROCHOT# temperature is higher on one CPU, then that probably means that it is somewhat more durable than the other one with a lower PROCHOT# temperature.
Any programmers in here dealing with this situation - it would be nice if you would jump into this discussion so we can try to finally reach a sensible conclusion.



Reply With Quote
Bookmarks