Jump to content

Does unRAID have Cool'n'Quiet in it's kernal?

Featured Replies

Posted

I'm curious if unRAID has Cool'n'Quiet support built into the kernal?

 

Cool'n'Quiet is fully supported in Linux from 2.6.18 (using the powernow-k8 driver) and FreeBSD from 6.0-CURRENT onward.[1][2]

Yes, but you have to modprobe the appropriate driver (e.g., powernow-k8) yourself.

 

You also have to modprobe the governors, and select the ondemand governor for each CPU separately.

 

Yes, but you have to modprobe the appropriate driver (e.g., powernow-k8) yourself.

 

You also have to modprobe the governors, and select the ondemand governor for each CPU separately.

 

 

Anyone have a step-by-step instructions on this for a newbie?

Anyone have a step-by-step instructions on this for a newbie?

I second that request

Use this to see what you have:

 

ls -la /lib/modules/$(uname -r)/kernel/drivers/cpufreq/ /lib/modules/$(uname -r)/kernel/arch/*/kernel/cpu/cpufreq/

 

Here’s a list of potential kernel drivers:

 

    * acpi-cpufreq: uses ACPI Processor P-States, common to many modern motherboards/CPU’s.

    * cpufreq-nforce2: uses FSB changing on motherboards using the nForce2 chipset.

    * elanfreq: cpufreq driver for AMD’s Elan CPUs

    * e_powersaver: Enhanced PowerSaver driver for VIA C7 CPU’s.

    * gx-suspmod: Cpufreq driver for Cyrix MediaGX and NatSemi Geode

    * longhaul: Longhaul driver for VIA Cyrix processors.

    * longrun: LongRun driver for Transmeta Crusoe and Efficeon processors.

    * p4-clockmod: cpufreq driver for Pentium 4/Xeon (and possibly the Core2)

    * powernow-k6: PowerNow! driver for AMD K6-2+ / K6-3+ processors.

    * powernow-k7: Powernow driver for AMD K7 processors.

    * powernow-k8: AMD Athlon 64 and Opteron processor frequency driver.

    * sc520_freq: cpufreq driver for AMD’s Elan sc520 CPU.

    * speedstep-centrino: Enhanced SpeedStep driver for Intel Pentium M processors.

    * speedstep-ich: Speedstep driver for Intel mobile processors on chipsets with ICH-M southbridges.

    * speedstep-lib: Library for Intel SpeedStep 1 or 2 cpufreq drivers.

    * speedstep-smi: Speedstep driver for IST applet SMI interface.

 

 

powernow, p4-clockmod, and speedstep are the likely candidates for most of you.  Use:

 

cat /proc/cpuinfo

 

to see what CPU you have.

 

After you get the proper driver loaded, you may need to modprobe the governors.

 

modprobe cpufreq_ondemand

 

Then see what governors are available:

 

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors

 

If "/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors" does not exist, then you don't have a proper driver loaded yet.

To use the ondemand governor, use:

 

echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

 

If you have multiple CPU cores, you need to do it for each one.

 

Thanks bubbaQ, I'll give it a look once I get my new MB installed.

Use this to see what you have:

 

ls -la /lib/modules/$(uname -r)/kernel/drivers/cpufreq/ /lib/modules/$(uname -r)/kernel/arch/*/kernel/cpu/cpufreq/

 

 

I dont appear to have the /cpufreq or the /arch directories in unraid? Should these be in the standard install of 4.5 (im using)?

They may be built into the kernel, and not modules.  I don't know which version of unRAID was the one when cpufreq support was added.

They may be built into the kernel, and not modules.  I don't know which version of unRAID was the one when cpufreq support was added.

 

Here, the ".config" file of the original kernel doesn't have all these modules selected, just the ones that enable Speedstep support (version 4.5.6). I had to recompile the kernel to add them builtin.

  • 1 month later...

@bubbaQ, I followed your description and have modprobe speedstep-lib in my go script.

Here is some more information based on your advise:

 

root@Tower:~# cat /proc/cpuinfo
processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 22
model name	: Intel(R) Celeron(R) CPU          430  @ 1.80GHz
stepping	: 1
cpu MHz		: 1800.000
cache size	: 512 KB
fdiv_bug	: no
hlt_bug		: no
f00f_bug	: no
coma_bug	: no
fpu		: yes
fpu_exception	: yes
cpuid level	: 10
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 tm pbe nx lm constant_tsc up arch_perfmon pebs bts aperfmperf pni dtes64 monitor ds_cpl tm2 ssse3 cx16 xtpr pdcm lahf_lm
bogomips	: 3600.85
clflush size	: 64
cache_alignment	: 64
address sizes	: 36 bits physical, 48 bits virtual
power management:

 

root@Tower:~# modprobe cpufreq_ondemand
FATAL: Module cpufreq_ondemand not found.

 

root@Tower:~# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
ondemand performance 

 

root@Tower:~# echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

 

I have a couple of questions now:

  • Do I have to enter anything additional into my go script?
  • Do I have to worry about the error enter the modprobe cpufreq_ondemand?

 

Thank you very much.

Archived

This topic is now archived and is closed to further replies.