Btw, here's a bit of info on an interesting kernel module that seems to be missing in liquorix:
:: Code :: filename: /lib/modules/3.0.0-15-generic/kernel/drivers/cpufreq/p4-clockmod.ko
license: GPL description: cpufreq driver for Pentium(TM) 4/Xeon(TM) author: Zwane Mwaikambo <zwane@commfireservices.com> srcversion: 9A522E7FC5F4C5DDB3D30E4 depends: vermagic: 3.0.0-15-generic SMP mod_unload modversions 686 Back to top |
|||||
Here's more info on the procie: ark.intel.com/products/27479/Intel-Pentium-4-Processor-631-supporting-HT-Technology-%282M-Cache-3_00-GHz-800-MHz-FSB%29
Back to top |
|||||
So I read up on ODCM (On-demand clock modulation) of some Pentium 4s and found out that this speedstepping strategy is not so much of a power saver, and it also trades-off performance for little to no energy savings at all, in most cases.(Link 1) (Link 2)
However, not all Pentium 4s are alike, and it has gone many iterations since its release. It would seem that ODCM may have been used by older Pentium 4s (Northwood, Prescott, etc.), but with the introduction of Enhanced Intel SpeedStep Technology (EIST), this is no longer the case. (Link 3) From the Intel spec I provided above, my Pentium 4 (Cedar Mill) supports EIST, which does separate frequency and voltage steppings under different loads. Here's an interesting note about the p4-clockmod kernel I indicated in my previous post. It looks like Ubuntu isn't using this module for my procie (lsmod |grep p4-clockmod returns nothing): bbs.archlinux.org/viewtopic.php?id=101464 It looks like that Ubuntu has built cpufreq into the kernel, whereas liquorix has them built as modules. What can I do in liquorix to add support for EIST, and therefore cpufreq scaling, in this particular Pentium 4 cpu? Back to top |
|||||
If you try modprobing acpi-cpufreq, speedstep-smi, and steedstep-ich, what happens? If they all fail, I'll look at turning p4-clockmod back on. I suppose it will be up to the owner of their computer or laptop to find out if it offers any benefit in power usage.
Back to top |
|||||
:: Code :: # modprobe acpi-cpufreq
# echo ondemand > /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor Enables ondemand cpufreq for my system. Thank you. Though I wonder why acpi-cpufreq isn't loaded on my system automatically. I suppose I would need to rebuild the initramfs of the kernel, at least for liquorix, and have this module included, to have ondemand cpufreq enabled upon startup. Back to top |
|||||
So it seems that Liquorix doesn't enable (load) cpufreq scaling modules by default? Because I also have an Intel Atom Netbook, and ondemand cpufreq is missing from the /sys/devices/system/cpu/cpu*/cpufreq/ path while using Liquorix. This is the case at least with Ubuntu Oneiric 11.10, with Xfce DE.
In my case, rebuilding the kernel initramfs by explicitly including acpi-cpufreq module does the job. Of course other processor architectures require other modules to be loaded, and one can look at /lib/modules/<linux-version-liquorix>/kernel/drivers/cpufreq for the modules to load pertinent to a particular procie. For the others who are interested, one can take a look here for a brief description of the different cpufreq drivers the Linux kernel has to offer. Back to top |
|||||
It could be that there's a bug in acpi-cpufreq where it doesn't know all the types of hardware it should load itself on. That or it's not supposed to and a script should be doing that instead. Either way, it's likely that Ubuntu compiles this statically to prevent this from happening.
I can try changing this to a static feature and see if I get any negative feedback. If Ubuntu hasn't had any complaints, then I'm not expecting any either. Back to top |
|||||
Ubuntu does statically compile most cpufreq drivers into the kernel, save for p4-clockmod, e_powersaver, and pcc-cpufreq. Those are compiled as modules, at least in Ubuntu 11.10 with Linux 3.0.0.0-15-generic.
This is the reason why I get ondemand cpufreq scaling enabled whenever I boot the Ubuntu kernel, but not when I boot Liquorix. Is there some performance or resource overhead if those other cpufreq drivers are loaded by the kernel, even though they are not used? Back to top |
|||||
This seems pretty much identical to my issue here: techpatterns.com/forums/about1921.html
There's also a nice solution there... Also, the only performance issue with the unused modules is that they take up memory. Other than that, they are inactive and do not interfere with normal operation, and even the memory they take is pretty much negligible, so personally I just load everything (I like to have options). Back to top |
|||||
Yep, it is.
Though I'm not sure why you needed to set ondemand scaling governer explicitly inside rc.local, seeing as you are using essentially an Ubuntu with modifications on top. Ubuntu has scripts in place for enabling frequency scaling upon startup, assuming the acpi-cpufreq kernel module is loaded. I haven't traced it back to the script responsible for this, but in my system ondemand is selected as scaling_governor upon bootup using the stock kernel. In case acpi-cpufreq is loaded only _after_ the system has completed bootup, then that's the time you need to set scaling_governor to your preference, as it defaults to performance. Back to top |
|||||
All times are GMT - 8 Hours
|