Athlon XP-M 3000+ won't return to highest CPU freq after being on battery
Linux - Laptop and NetbookHaving a problem installing or configuring Linux on your laptop? Need help running Linux on your netbook? This forum is for you. This forum is for any topics relating to Linux and either traditional laptops or netbooks (such as the Asus EEE PC, Everex CloudBook or MSI Wind).
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Athlon XP-M 3000+ won't return to highest CPU freq after being on battery
I'm running Slackware current with kernel 2.6.14.4 on an eMachines M2352 laptop. I've got ACPI working and I'm using the ondemand cpu governor. Here's my problem: if I boot while on AC power, the computer will use its full speed of 2186 mhz, but if I ever switch to battery power ondemand will only take it up to 1457 mhz. Even if I plug it back in, it will only go up to 1457 mhz until I reboot it. If I hibernate it and resume with software suspend 2, it still is limited to 1457 mhz.
Whether I'm plugged in or not, cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies returns the following:
processor : 0
vendor_id : AuthenticAMD
cpu family : 6
model : 10
model name : Mobile AMD Athlon(tm) XP 3000+
stepping : 0
cpu MHz : 530.083
cache size : 512 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca cmov pat pse36 mmx fxsr sse syscall mp mmxext 3dnowext 3dnow
bogomips : 1061.61
This is not a huge issue, as 1457 mhz is still pretty quick, but it's annoying just the knowledge that I'm not running on full cpu. I have observed this issue since the first time I compiled a kernel with a CPU scaling governor. I'm not sure if it was happening before that, but I've looked around the kernel and haven't seen anything that might do this.
I have also tried switching the governor to userspace and manually setting the /sys entry to 2186 mhz, but the highest it will go is 1457.
There appears to be nothing in my ACPI event handler that could possibly be doing this either.
No, I mean I want it to run at lower speed if it's not being used, and with ondemand cpu governor this works, and it stays at 530mhz. My problem is that if I boot all the way to X with my laptop plugged in, and I do something demanding CPU, e.g., cat /dev/urandom > /dev/null it will use all 2186 mhz of my processor speed.
If I do the same thing, only before running the command I unplug my computer then plug it back in, it will only ever reach 1457 mhz again, until I reboot it.
Distribution: RHEL/CentOS/SL 5 i386 and x86_64 pata for IDE in use
Posts: 4,790
Rep:
You might what to check and see if a BIOS upgrade is available for your laptop. You may need to build a custom kernel with a custom dsdt also, visit acpi.sourceforge.net for some very helpful information and links.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.