Mystery solved!
Fanny's output for TC0F is wrong. Definitely wrong.
I've been digging through lots of source code for various open source tools that can monitor this sensor -- Fanny, SMCKit, and finally the only one that gets it right: iStats (not to be confused with iStat Menus!).
I've opened an issue on Fanny's github repo so don't want to repeat all the details here, but the short version is that this value is a negative offset from T_CONTROL (i.e., how far are we below the point where the CPU will start throttling itself), and it's internally being reported by the low level libraries in Apple's so-called SP78 data type (first bit = sign, 7 bits integer part, 8 bits fractional part). Somehow Fanny (and SMCKit) are not handling this correctly, leading to these huge numbers.
iStat OTOH shows the correct value for this sensor. Right now, once more under 100% CPU load with F@H, it says:
TC0F CPU 0 ?? temp: -19.75°C
It's showing "??" in the label because it doesn't really know what this sensor is for. But it's treating the numerical value correctly: I'm running about 20° below the point where TCC would kick in.
Fanny always shows exactly 128 + this offset, while the correct interpretation would be T_CONTROL + this offset. (128 would of course be the value of the leading minus sign if interpreted as unsigned integer.)
That's why I never observed any thermal throttling -- I am well below that point.
So I can finally lay this issue to rest and be sure I'm _NOT_ cooking my CPU.
BTW, I've mentioned on the github issue that it would actually be insanely useful for some monitoring tool to show the exact real value of this sensor instead of some absolute computed value -- it's really the single most informative metric for judging if the CPU is running hot or no.
Fanny's output for TC0F is wrong. Definitely wrong.
I've been digging through lots of source code for various open source tools that can monitor this sensor -- Fanny, SMCKit, and finally the only one that gets it right: iStats (not to be confused with iStat Menus!).
I've opened an issue on Fanny's github repo so don't want to repeat all the details here, but the short version is that this value is a negative offset from T_CONTROL (i.e., how far are we below the point where the CPU will start throttling itself), and it's internally being reported by the low level libraries in Apple's so-called SP78 data type (first bit = sign, 7 bits integer part, 8 bits fractional part). Somehow Fanny (and SMCKit) are not handling this correctly, leading to these huge numbers.
iStat OTOH shows the correct value for this sensor. Right now, once more under 100% CPU load with F@H, it says:
TC0F CPU 0 ?? temp: -19.75°C
It's showing "??" in the label because it doesn't really know what this sensor is for. But it's treating the numerical value correctly: I'm running about 20° below the point where TCC would kick in.
Fanny always shows exactly 128 + this offset, while the correct interpretation would be T_CONTROL + this offset. (128 would of course be the value of the leading minus sign if interpreted as unsigned integer.)
That's why I never observed any thermal throttling -- I am well below that point.
So I can finally lay this issue to rest and be sure I'm _NOT_ cooking my CPU.
BTW, I've mentioned on the github issue that it would actually be insanely useful for some monitoring tool to show the exact real value of this sensor instead of some absolute computed value -- it's really the single most informative metric for judging if the CPU is running hot or no.