E3-1240 v5 cpufreq-info says: "no or unknown cpufreq driver is active on this CPU"

Edd Barrett asked:

We just got a Dell server (PowerEdge R330) with a E3-1240 v5 CPU:

processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 94
model name      : Intel(R) Xeon(R) CPU E3-1240 v5 @ 3.50GHz
stepping        : 3
microcode       : 0x9e
cpu MHz         : 3502.916
cache size      : 8192 KB
physical id     : 0
siblings        : 4
core id         : 0
cpu cores       : 4
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 22
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx rdseed adx smap clflushopt
bogomips        : 7005.83
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical, 48 bits virtual
power management:

There are four such cores. The machine is running Debian 8 running the default Linux kernel.

One of our in-house tools needs to check/set the CPU governor usually found at: /sys/devices/system/cpu/cpu<N>/cpufreq/scaling_governor, where <N> is the core number. However these files do not exist.

Looking at cpufreq-info:

$ cpufreq-info 
cpufrequtils 008: cpufreq-info (C) Dominik Brodowski 2004-2009
Report errors and bugs to cpufreq@vger.kernel.org, please.
analyzing CPU 0:
  no or unknown cpufreq driver is active on this CPU
  maximum transition latency: 4294.55 ms.
analyzing CPU 1:
  no or unknown cpufreq driver is active on this CPU
  maximum transition latency: 4294.55 ms.
analyzing CPU 2:
  no or unknown cpufreq driver is active on this CPU
  maximum transition latency: 4294.55 ms.
analyzing CPU 3:
  no or unknown cpufreq driver is active on this CPU
  maximum transition latency: 4294.55 ms.

Does Linux really not support frequency scaling on this machine, or do I need to install something? Do I need to fiddle some setting in the BIOS? cpufreq normally works out the box.

Thanks

My answer:


Modern Intel processors use P-states for CPU frequency control. When Linux is using this driver, it will be visible thus:

# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver
intel_pstate

The Debian 3.16 kernel is new enough and actually has the intel_pstate driver, so it should be working. My first suspect would be a BIOS setting. Unfortunately Dell doesn’t seem to have documented these settings very well, so I can tell you the most likely place is under System Profile Settings in the BIOS, but I don’t have one of these servers to hand, so I can’t say exactly which option might fix the problem.


View the full question and answer on Server Fault.

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.