[opensuse] Help with setting CPU frequency
This one has been a real problem for me. I will provide a brief summary, and more specifics if requested. I have a couple of older laptops (AMD based Dell 1721) that I would like to use for reading documents etc. It took hours to install openSuse on them because the CPU speed is kept at the lowest level. If I do a cpupower frequency-info, it provides a range of valid values from 0.8GHz to 2.2GHz. When I examine entries in /sys/devices/system/cpu/cpufreq I find: cpuinfo_max_freq 2200000 cpuinfo_min_freq 800000 cpuinfo_cur_freq 800000 scaling_max_freq 800000 scaling_min_freq 800000 bios_limit 800000 I am worried about the "bios_limit" being set so low, and where does that setting come from. I did a grep on /etc, /usr/lib, /usr/lib64 and /usr/share and could find no file referencing bios_limit. When I searched /lib I found three modules, including the powernow-k8 module that included that reference. This bios_limit entry is also not present on my other, faster, machine, which does limit overclocking. And I see no place in the 1721 BIOS setup that allows setting a limit on CPU speed. The list of available governors is userspace, ondemand and performance (currently set to userspace, probably because I tried manually the cpupower frequency-set -f 1800000 command, which had no effect. I am back on my faster machine now, and plan to unroll the kernel source and see what I can discover there. I do not know if powernow-k8 sets, or just reads that entry. Any help would be appreciated. I just do not understand why the cpuinfo_max_freq entry can be set to 2.2GHz, while a limit is also set to 0.8GHz. Don -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
On Sat 11 Apr 2015 02:29:24 PM CDT, don fisher wrote:
This one has been a real problem for me. I will provide a brief summary, and more specifics if requested. I have a couple of older laptops (AMD based Dell 1721) that I would like to use for reading documents etc. It took hours to install openSuse on them because the CPU speed is kept at the lowest level.
If I do a cpupower frequency-info, it provides a range of valid values from 0.8GHz to 2.2GHz. When I examine entries in /sys/devices/system/cpu/cpufreq I find:
cpuinfo_max_freq 2200000 cpuinfo_min_freq 800000 cpuinfo_cur_freq 800000 scaling_max_freq 800000 scaling_min_freq 800000 bios_limit 800000
I am worried about the "bios_limit" being set so low, and where does that setting come from. I did a grep on /etc, /usr/lib, /usr/lib64 and /usr/share and could find no file referencing bios_limit. When I searched /lib I found three modules, including the powernow-k8 module that included that reference. This bios_limit entry is also not present on my other, faster, machine, which does limit overclocking. And I see no place in the 1721 BIOS setup that allows setting a limit on CPU speed.
The list of available governors is userspace, ondemand and performance (currently set to userspace, probably because I tried manually the cpupower frequency-set -f 1800000 command, which had no effect.
I am back on my faster machine now, and plan to unroll the kernel source and see what I can discover there. I do not know if powernow-k8 sets, or just reads that entry. Any help would be appreciated. I just do not understand why the cpuinfo_max_freq entry can be set to 2.2GHz, while a limit is also set to 0.8GHz.
Don Hi Is there a cool'n'quiet in the system BIOS?
If you set to performance via cpupower it will stay at maximum speed, else use ondemand and it will switch as required. -- Cheers Malcolm °¿° LFCS, SUSE Knowledge Partner (Linux Counter #276890) SUSE Linux Enterprise Desktop 12 GNOME 3.10.1 Kernel 3.12.39-47-default up 6 days 2:22, 4 users, load average: 0.52, 0.47, 0.40 CPU AMD A4-5150M APU @ 3.3GHz | GPU Richland Radeon HD 8350G -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
On 04/11/2015 05:55 PM, Malcolm wrote:
Is there a cool'n'quiet in the system BIOS?
On my Dell Optiples, and yes its a desktop not a laptop, there are BIOS settings like that and aslo to determine if multiple cores are to be used. And a lot of other details. Don, UNLESS your BIOS is letting it run fast/faster then nothing in userspace etc is going to do much. I have a LOT of things disable in my BIOS; I don't even dream of trying out the applications that would manipulate them if they were enabled. Malcolm's point about 'ondemand' is a good one. I have a lot of idle-time on my machine (aka making and drinking coffee). Why sling un-necessay electrons? But do it automagically rather than require manual intervention. Oh, and laptop? Now the seasons are changing, make sure your fans are not clogged. -- A: Yes. > Q: Are you sure? >> A: Because it reverses the logical flow of conversation. >>> Q: Why is top posting frowned upon? -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Hello, For more info regarding the bios_limit setting see here: http://kernel.opensuse.org/cgit/kernel/commit/?id=e2f74f355e9e2914483db10c05... Probably the limitation can be ignored with: echo 1 > /sys/module/processor/parameters/ignore_ppc or with processor.ignore_ppc=1 as kernel parameter at boot time. But I'm not sure about this. Best Regards, I. Petrov On 04/12/2015 12:29 AM, don fisher wrote:
This one has been a real problem for me. I will provide a brief summary, and more specifics if requested. I have a couple of older laptops (AMD based Dell 1721) that I would like to use for reading documents etc. It took hours to install openSuse on them because the CPU speed is kept at the lowest level.
If I do a cpupower frequency-info, it provides a range of valid values from 0.8GHz to 2.2GHz. When I examine entries in /sys/devices/system/cpu/cpufreq I find:
cpuinfo_max_freq 2200000 cpuinfo_min_freq 800000 cpuinfo_cur_freq 800000 scaling_max_freq 800000 scaling_min_freq 800000 bios_limit 800000
I am worried about the "bios_limit" being set so low, and where does that setting come from. I did a grep on /etc, /usr/lib, /usr/lib64 and /usr/share and could find no file referencing bios_limit. When I searched /lib I found three modules, including the powernow-k8 module that included that reference. This bios_limit entry is also not present on my other, faster, machine, which does limit overclocking. And I see no place in the 1721 BIOS setup that allows setting a limit on CPU speed.
The list of available governors is userspace, ondemand and performance (currently set to userspace, probably because I tried manually the cpupower frequency-set -f 1800000 command, which had no effect.
I am back on my faster machine now, and plan to unroll the kernel source and see what I can discover there. I do not know if powernow-k8 sets, or just reads that entry. Any help would be appreciated. I just do not understand why the cpuinfo_max_freq entry can be set to 2.2GHz, while a limit is also set to 0.8GHz.
Don -----BEGIN PGP SIGNATURE----- Version: GnuPG v2
iQIcBAEBCAAGBQJVKaaDAAoJEH8sJoKRFRU5eY0P/j3/VgbqsDkB0iOya713H+tN DVmrftS/Rj3lzypFjSrLozlTus372dUdkemos92FOx8Y5WP/sH6gedOmxoVPa5rb QGdhLvPDbOJ0SxhG8EanK2sHntk6JCaRPG9uqrHF9p5jWHXbhMJ2fWj4D0QBuTKo hIwKbLDGUqSWdHPkhACYbc09w5OcIxdJl0SjVAKaiex3mXgYlF4TVtg45WGSfysZ DkHUQ3oKUZvqjWQ2eajCEho8t5bJ22HDkw+UipJS9b2VvoSjEUc2otwhae6acTgv F0f9g7pz01S3py1rgBS3ztchX8Ovq2DBPXekF8PCJ3GDgRnqssWdYCHAmyprv5uO 2LVzmvtSQoTes9Fc/NutUoJgzzSbraDQxIYEagKfSLH30lBv589k+zNFIe5L3H52 CGDMp6XZ9EQ2ljEBCTPDrkgeZHrGfDorB8AFJsr6chigPbeiaJ3jZkRx+FnrXRFo +IlLOvSzwLu8OHp5JcN0d9nUSeIgdesFOqyjtvvsAgry67jQAg61Mo+w5BklWd5h SvqYvvPBesubiTzOtpyc8wHmRWySNevUkTaGCzrgJzonXDvgEcieXppdSdrmEavO WlBMEQaQBco2URZZXBIoGco26moh8rtoKoowoPCR73FdMqy9ZtWXZYpVOJSMHBYL NkuQDuHVhYOV7QWIR/qJ =Z8Bz -----END PGP SIGNATURE----- -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
The user-guide.txt says: bios_limit : If the BIOS tells the OS to limit a CPU to lower frequencies, the user can read out the maximum available frequency from this file. This typically can happen through (often not intended) BIOS settings, restrictions triggered through a service processor or other BIOS/HW based implementations. This does not cover thermal ACPI limitations which can be detected through the generic thermal driver. But there appears to be no way to ignore the limit. I have tried ondemand. Nothing moves. I will reboot and examine the BIOS in detail. At first glance my look into the kernel sources appears to verify that the cpufreq.c driver does pay attention to the bios_limit. At line 707 of cpufreq.c: ** * show_bios_limit - show the current cpufreq HW/BIOS limitation */ static ssize_t show_bios_limit(struct cpufreq_policy *policy, char *buf) { unsigned int limit; int ret; if (cpufreq_driver->bios_limit) { ret = cpufreq_driver->bios_limit(policy->cpu, &limit); if (!ret) return sprintf(buf, "%u\n", limit); } return sprintf(buf, "%u\n", policy->cpuinfo.max_freq); } It is an AMD processor that uses the powernow-k8 module. There is a cpufreq_driver struct that contains .bios_limit, but it never puts touches this entry, as far as I can tell. This is going to take a long study. Been a long while since I have been in the kernel. It might be easier to just buy new computer:-) Don -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
On 04/11/2015 06:05 PM, don fisher wrote:
It is an AMD processor that uses the powernow-k8 module. There is a cpufreq_driver struct that contains .bios_limit, but it never puts touches this entry, as far as I can tell.
This is going to take a long study. Been a long while since I have been in the kernel. It might be easier to just buy new computer:-)
Don
powernow-k8 module Deprecated since linux 3.7 - Use acpi_cpufreq. General tools/approaches - https://wiki.archlinux.org/index.php/CPU_frequency_scaling -- David C. Rankin, J.D.,P.E. -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
Can I actually enforce a low or the lowest possible speed of such a cpu (i have amd though) for example in use cases where i can spend the extra time and would rather have low power consumption and dont need all those megahertz? meaning i want the cpu to never raise the clock but to always stay at its lowest clock setting if possible. is this possible with linux kernel? thank you. -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
On 04/13/2015 08:45 AM, cagsm wrote:
Can I actually enforce a low or the lowest possible speed of such a cpu (i have amd though) for example in use cases where i can spend the extra time and would rather have low power consumption and dont need all those megahertz? meaning i want the cpu to never raise the clock but to always stay at its lowest clock setting if possible. is this possible with linux kernel? thank you.
You can. There are two ways, if I understand correctly (never tried this the low end). First you can choose the a low performance governor from the list provided by: cpupower frequency-info -g which shows the choices for governors. You can also set the frequency you want: cpupower frequency set -d lower_freq -u upper_freq Where these two can be equal and set to the lowest frequency displayed be the previous cpupower frequency-info command. I hope I have made no mistakes here. If you cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors you will also see what is available. The other directories have more data, there labels are pretty much self explanatory.I found the watch grep \"cpu MHz\" /proc/cpuinfo command helpful when debugging. Hope this helps, Don -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
participants (6)
-
Anton Aylward
-
cagsm
-
David C. Rankin
-
don fisher
-
I.Petrov
-
Malcolm