The file #$Header: /var/cvsroot/gentoo-x86/sys-power/cpufreqd/files/cpufreqd-2.0.0-init. d,v 1.3 2006/05/11 20:48:39 brix Exp $ looks for "/sys/devices/system/cpu/cpu0/cpufreq" to determine whether cpu frequency scaling is available in the kernel. If that specific file is not found, the error states: "cpufreqd requires the kernel to be configured with CONFIG_CPU_FREQ". This is only half the truth. When I encountered this, I had $> zcat /proc/config.gz | grep CONFIG_CPU_FREQ CONFIG_CPU_FREQ=y CONFIG_CPU_FREQ_TABLE=m # CONFIG_CPU_FREQ_DEBUG is not set CONFIG_CPU_FREQ_STAT=m # CONFIG_CPU_FREQ_STAT_DETAILS is not set # CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y # CONFIG_CPU_FREQ_GOV_PERFORMANCE is not set CONFIG_CPU_FREQ_GOV_POWERSAVE=m CONFIG_CPU_FREQ_GOV_USERSPACE=y CONFIG_CPU_FREQ_GOV_ONDEMAND=m # CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set on my P4 system, but $> zcat /proc/config.gz | grep P4 # CONFIG_X86_P4_CLOCKMOD is not set (CONFIG_X86_P4_CLOCKMOD adds the CPUFreq driver for Intel Pentium 4 / XEON processors.) Without CONFIG_X86_P4_CLOCKMOD the directory "/sys/devices/system/cpu/cpu0/cpufreq/" was not available. When I set "CONFIG_X86_P4_CLOCKMOD=m" and loaded the module, the cpufreq files appeared. Therefore, I would suggest something like this: "cpufreqd requires the kernel to be configured with frequency scaling enabled (CONFIG_CPU_FREQ). Make sure that the appropiate drivers for your CPU are available." In addition: the test should be made for all available CPUs, not only CPU0,
(In reply to comment #0) > The file > #$Header: /var/cvsroot/gentoo-x86/sys-power/cpufreqd/files/cpufreqd-2.0.0-init. > d,v 1.3 2006/05/11 20:48:39 brix Exp $ > > looks for "/sys/devices/system/cpu/cpu0/cpufreq" to determine whether cpu > frequency scaling is available in the kernel. If that specific file is not > found, the error states: "cpufreqd requires the kernel to be configured with > CONFIG_CPU_FREQ". > > This is only half the truth. When I encountered this, I had > > $> zcat /proc/config.gz | grep CONFIG_CPU_FREQ > CONFIG_CPU_FREQ=y > CONFIG_CPU_FREQ_TABLE=m > # CONFIG_CPU_FREQ_DEBUG is not set > CONFIG_CPU_FREQ_STAT=m > # CONFIG_CPU_FREQ_STAT_DETAILS is not set > # CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set > CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y > # CONFIG_CPU_FREQ_GOV_PERFORMANCE is not set > CONFIG_CPU_FREQ_GOV_POWERSAVE=m > CONFIG_CPU_FREQ_GOV_USERSPACE=y > CONFIG_CPU_FREQ_GOV_ONDEMAND=m > # CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set > > on my P4 system, but > > $> zcat /proc/config.gz | grep P4 > # CONFIG_X86_P4_CLOCKMOD is not set > > (CONFIG_X86_P4_CLOCKMOD adds the CPUFreq driver for Intel Pentium 4 / XEON > processors.) > > Without CONFIG_X86_P4_CLOCKMOD the directory > "/sys/devices/system/cpu/cpu0/cpufreq/" was not available. When I set > "CONFIG_X86_P4_CLOCKMOD=m" and loaded the module, the cpufreq files appeared. > > Therefore, I would suggest something like this: > "cpufreqd requires the kernel to be configured with frequency scaling enabled > (CONFIG_CPU_FREQ). Make sure that the appropiate drivers for your CPU are > available." OK, corrected the warning.
Created attachment 100103 [details, diff] cpufreqd-2.2.0-init.d.diff (In reply to comment #0) > In addition: the test should be made for all available CPUs, not only CPU0, Could you please try out the attached diff against the init-script, if that works for multiple CPU's ?
Created attachment 100262 [details, diff] cpufreqd-2.2.0-init.d.patch I think that cpufreqd should be started if at least one of the cpus has freq scaling support. See the patch. btw sorry for fixing the typo w/o noticing.
A related question: the patch in comment #3 will only work if /sys/.../cpufreq is available, i.e. if and only if the appropriate modules are loaded. Specific to my configuration, these are p4-clockmod and cpufreq_ondemand. How or where is one supposed to add those module names to get cpufreqd working at all?
Created attachment 100269 [details, diff] cpufreqd-2.2.0-init.d.patch More concise version.
Added new init script to the tree. (In reply to comment #4) > A related question: the patch in comment #3 will only work if /sys/.../cpufreq > is available, i.e. if and only if the appropriate modules are loaded. Specific > to my configuration, these are p4-clockmod and cpufreq_ondemand. How or where > is one supposed to add those module names to get cpufreqd working at all? Add them to /etc/modules.autoload.d/kernel-2.6
for me on a Core Duo 2 system, I needed to enable CONFIG_X86_ACPI_CPUFREQ to make this work..
*** Bug 213342 has been marked as a duplicate of this bug. ***