How does BIOS "thermal throttling" interact with cpufreq? (on VIA C7)
Dear Cpufreq experts,
I have a Jetway J7F2 motherboard with a VIA C7 processor and have recently got CPU frequency scaling working with the ondemand governor. It all works very smoothly - thanks.
In the BIOS settup screens there are options for "thermal throttling". They allow me to define a threshold voltage and a "duty cycle"; the screens are rather vague and there's nothing about it in the board documentation. My guess is that when the CPU temperature reaches this threshold the clock speed is reduced. I have looked at the datasheet for the chip that includes the temperature monitoring logic, and asked about it on the lm-sensors (aka hwmon) mailing list, and there seems to be an "over temp" output signal from this chip. (The is also an "alarm" output, with a separate threshold register, which I think goes to the speaker.)
Does anyone know how this stuff works, and how it interacts with cpufreq? Could it be that the "over temperature" signal is actually just an interrupt and software is supposed to respond by changing the frequency? Does cpufreq need to be aware of this throttling function (i.e. having enabled cpufreq, have I unintentionally disabled this thermal protection?)
Any thoughts would be much appreciated.
Regards,
Phil.
Quoted 7 lines · Phil Endecott
Dear Cpufreq experts,
I have a Jetway J7F2 motherboard with a VIA C7 processor and have recently got CPU frequency scaling working with the ondemand governor. It all works very smoothly - thanks.
In the BIOS settup screens there are options for "thermal throttling". They allow me to define a threshold voltage and a "duty cycle"; the screens are rather vague and there's nothing about it in the board documentation. My guess is that when the CPU temperature reaches this threshold the clock speed is reduced. I have looked at the datasheet for the chip that includes the temperature monitoring logic, and asked about it on the lm-sensors (aka hwmon) mailing list, and there seems to be an "over temp" output signal from this chip. (The is also an "alarm" output, with a separate threshold register, which I think goes to the speaker.)
Does anyone know how this stuff works, and how it interacts with cpufreq? Could it be that the "over temperature" signal is actually just an interrupt and software is supposed to respond by changing the frequency? Does cpufreq need to be aware of this throttling function (i.e. having enabled cpufreq, have I unintentionally disabled this thermal protection?)
If they've done it really right (like Intel TM1/TM2), then the CPU will handle everything transparently for you. If they've done it right, then overtemp will trigger a system management interrupt (SMI) and BIOS code will set the IA32_CLOCK_MODULATION register; because clock modulation is (supposed to be) orthogonal to EIST it should work fine. If they do it some other way then who knows.
Wes Felter - [email protected]