I have a Phenom II X6 1100T in a Gigabyte GA-MA790XT-UD4P and I am desperately trying to lock down the CPU frequency for timing purposes. This is an Ubuntu 16.04 server. I'm not trying to overclock it, I just want all cores to stay at 3300 MHz forever, regardless of load.
Summary of changes so far:
* Disabled AMD Turbo Core in BIOS
* Disabled all Advanced Clock Calibration settings in BIOS
* Disabled AMD C1E support in BIOS
* Disabled HPET in BIOS
* Specified CPU multiplier to result in 3300 MHz frequency in BIOS (instead of Auto)
* Specified CPU Host Clock Control to 200 MHz in BIOS (instead of Auto - to disable CPU Spread Spectrum)
* Specified CPU Northbridge frequency to 2000 MHz (instead of Auto)
* Specified PCI-E clock to 100 MHz (instead of Auto)
* Specified HT Link Frequency to 2000 MHz (instead of Auto)
* Specified kernel parameter "intel_idle.max_cstate=1" or "intel_idle.max_cstate=0" (seemed to have no effect)
* Installed turbostat, cpufrequtils, cpupower utilities
As of right now the CPU cores fluctuate very slightly from 3312.0 +/- 3.0 MHz at 0% load. At 100% load they peg to 3315.050 MHz +/- 0.001 MHz, which is better, but still causes timing issues. On other systems available to me (with different motherboards/CPUs) I observe a constant CPU frequency regardless of load.
I feel like the utilities I've tried (turbostat, cpufrequtils, cpupower) are not working as they should. Turbostat reports an average MHz of around 40 Mhz at 0% load and doesn't report c-states with the --debug flag as documented on the internet. cpufreq-info just shows "no or unknown cpufreq driver is active on this CPU" and attempting to change governor settings says "Error setting new values". cpupower frequency-info says "Unable to call hardware".
At this point I am at a loss as for what to try next. I don't see any mention of a governor in dmesg or in /sys so I'm not sure whether I can change that (maybe it's not there with the BIOS settings I have disabled?).
Any thoughts or experience that might help me out?
Summary of changes so far:
* Disabled AMD Turbo Core in BIOS
* Disabled all Advanced Clock Calibration settings in BIOS
* Disabled AMD C1E support in BIOS
* Disabled HPET in BIOS
* Specified CPU multiplier to result in 3300 MHz frequency in BIOS (instead of Auto)
* Specified CPU Host Clock Control to 200 MHz in BIOS (instead of Auto - to disable CPU Spread Spectrum)
* Specified CPU Northbridge frequency to 2000 MHz (instead of Auto)
* Specified PCI-E clock to 100 MHz (instead of Auto)
* Specified HT Link Frequency to 2000 MHz (instead of Auto)
* Specified kernel parameter "intel_idle.max_cstate=1" or "intel_idle.max_cstate=0" (seemed to have no effect)
* Installed turbostat, cpufrequtils, cpupower utilities
As of right now the CPU cores fluctuate very slightly from 3312.0 +/- 3.0 MHz at 0% load. At 100% load they peg to 3315.050 MHz +/- 0.001 MHz, which is better, but still causes timing issues. On other systems available to me (with different motherboards/CPUs) I observe a constant CPU frequency regardless of load.
I feel like the utilities I've tried (turbostat, cpufrequtils, cpupower) are not working as they should. Turbostat reports an average MHz of around 40 Mhz at 0% load and doesn't report c-states with the --debug flag as documented on the internet. cpufreq-info just shows "no or unknown cpufreq driver is active on this CPU" and attempting to change governor settings says "Error setting new values". cpupower frequency-info says "Unable to call hardware".
At this point I am at a loss as for what to try next. I don't see any mention of a governor in dmesg or in /sys so I'm not sure whether I can change that (maybe it's not there with the BIOS settings I have disabled?).
Any thoughts or experience that might help me out?
Last edited: