Quote:
P.S. On your edit, after I replied, see #39 from this thread. |
Quote:
From my measurements, intel_pstate can run all four cores at their maximum turbo frequency (2.53GHz), whereas acpi-cpufreq could do that on only one core, dropping to the rated frequency (2.00GHz) when all cores were active. This was the case a few years ago - I haven't tried acpi-cpufreq since then. Ed |
Quote:
https://en.wikipedia.org/wiki/Intel_Turbo_Boost You should try again acpi-cpufreq if you have CPUs that can go over the (normal) maximum. This might be useful: https://www.kernel.org/doc/Documenta...freq/boost.txt EDIT: The Skylake CPU has Turbo Boost but only available on one core and you're right, I didn't pay attention to that, acpi-cpufreq->ondemand doesn't look to make use of it, or maybe I'm not stressing the CPU enough. https://ark.intel.com/products/88192 |
Quote:
maybe Intel came to the same conclusion as I, a cool CPU, less power consumption, no running FANs, max battery life if mobile, this is useful, and the rest is just need in extreme situations, where not even gaming , video editing, running Slackbuilds, ... makes a measurable different for having always the performance setting. Anyhow, this are just my 2 cents, I can edit a config file, now I know about this default, so I don't care too much |
Quote:
Here are my current measurements. Frequency is quoted in GHz as base, one-core turbo boost, and all-core turbo boost. All machines are running with the performance governor. Core i7-930, Nehalem (desktop)
Core i7-2630QM, Sandy Bridge (laptop)
Core i7-5960X, Haswell-E (desktop)
These machines are performing as advertised. For background, I invented the technology that became Turbo Boost. That is why I am interested in delivered performance. Ed |
I feel inadequate.
|
Quote:
In my arguments I was focusing on experience, and I already provided some in my previous posts. Main idea is that you do work on a computer and you expect it to be responsive and perform well. On a mobile computer you always need to take additional measures in order to tune the power consumption, configuring the governor is one of them and you have both the information and the possibility to do so. I don't know what conclusions Intel came to, but I'm not happy with the limited flexibility/choices they came up with and I speculated in a previous post that maybe they were asked to provide a comatose-level of PM for the "cloud computers" that are never used and thus came up with the powersave. These changes should have been done in Slackware 14.2 stable, the only one I'm running on x86 and the one I was using to provide feedback&test results, where you have an older kernel and the rc.cpufreq script is (still) broken, or inconsistent, or not optimal if you're too sensible and prefer an euphemism. The rc.cpufreq doesn't handle the governors for intel_pstate properly, providing the (default) ondemand governor for intel_pstate, which doesn't recognize it and uses its default powersave. Related to my observations, I'm still not sure why under ~20% load, the CPU was not dropping its frequency with the performance governor as this governor (should) supports dynamic scaling. But maybe all these new intel_pstate driver developments and updates should get manually merged into the 4.4.x kernel. Slackware -current is using a newer kernel already containing some improvements for the intel_pstate driver and by the time it'll turn into Slackware 15, with maybe some newer kernel tree and further intel_pstate improvements, the powersave governor might perform better and be suitable for use. Who knows, maybe Intel will come to some other conclusions and provide an intermediate "ondemand-like" governor. I haven't done any tests with Slackware -current but I'm starting to consider using the the kernel it provides for my Slackware 14.2 systems and ditching the 4.4.y. My last 2 cents, I already had too much of this ;) |
Quote:
My only Turbo Boost enabled CPU - 6600U can only use one core at the maximum turbo frequency (one-core turbo boost): https://en.wikipedia.org/wiki/Skylak...ile_processors Any tests I'll do would maybe be irrelevant, and ATM I'm stuck with the acpi-cpufreq and not considering to change it back to intel_pstate, at least not with the 4.4.x kernel. As mentioned before, I'm not seeing the 3.40GHz turbo frequency with acpi-cpufreq and I'm not sure if it's me not pushing enough the CPU, although I started some compilations, or it's the acpi-cpufreq not able to tune this turbo frequency. Actually, I don't really care TBH with you, I'm happy with acpi-cpufreq and this thread was about intel_pstate and should remain about it and not about my personal comparisons and preferences. :) |
From when the acpi-cpufreq driver with the ondemand governor was no longer fit for Intel CPUs:
https://www.phoronix.com/scan.php?pa...tem&px=MTM3NDQ |
How about to remove that customization for Intel "performance" and just to leave to the proud Intel Gurus to customize to their beloved "performance" via "/etc/default/cpufreq" ?
Faulty or not, snail-ish or not, that "ondemand" governor brings up a functional system. Let's leave the tuning of dragster rigs right to users. That will be more Slackware-ish... ;) Or we can try to write an A.I. on bash scripts, to super-control that overpriced Intel crap, err... CPUs. |
With all the feedback about this change I started to get worried about the use of mobile computers while on batteries with the default CPU governor configured on ondemand or performance, due to the increased power consumption of the CPU.
In this respect, when running on batteries, the default ondemand governor for acpi-cpufreq is also not optimal, powersave should be used instead. In trying to fix this, I was looking for an automated solution to switch the governor when running on AC or battery, by only using the standard tools&toys Slackware is providing. By not having any AI available to help me but only my NI(natural), I started to dig for infos&ways to obtain this automation. This was also considered a long time ago here on LQ, but not really resolved: https://www.linuxquestions.org/quest...attery-391686/ I started with pm-tools, another one of those well documented FreeDesktop projects and was not confident enough in my understanding over how it is triggered and how to use it properly, therefore I dumped it. Some info about it for more "courageous" people: https://pm-utils.freedesktop.org/wiki/ Here is a solution built upon pm-utils: https://forums.fedoraforum.org/showt...-cpu-governors And there are some scripts already available in /usr/lib(64)/pm-utils/power.d/ that can be modified, made executable and copied into /etc/pm/power.d/ Finally, I considered using the /etc/rc.d/rc.cpufreq together with the (more mature and better documented) acpid daemon with its /etc/acpi/acpi_handler.sh script for handling PM events. Inspiration: https://wiki.archlinux.org/index.php...th_ACPI_events There are two situations I considered taking care of, first, if the computer starts on batteries, then the CPU PM governor should be set on powersave, and second, after finishing the boot process and acpid is running, automatically switching the CPU PM governor based on running on AC Power connect/disconnect events. The first situation I could only resolve by modifying and using the /etc/rc.d/rc.cpufreq script, adding a conditional check, looking if the system is on AC or not. The only issue with this is that I'm not 100% sure if /proc/acpi/ac_adapter/AC/state is a standard, TLDP documents it as such: https://www.tldp.org/HOWTO/Ecology-H...anagement.html Here is the modification (in bold) to the latest /etc/rc.d/rc.cpufreq script: Code:
# For CPUs using intel_pstate, always use the performance governor. This also I am handling both CPU PM drivers: acpi-cpufreq and intel_pstate, with ondemand for acpi-cpufreq and performance for intel_pstate as governors for when running on AC Power and the common (for both) powersave governor for when running on batteries. Here is the modified /etc/acpi/acpi_handler.sh script (changes in bold): Code:
#!/bin/sh That doesn't mean you shouldn't test it yourselves before using it and provide feedback. Have more fun with your mobile systems when on batteries! :) |
Quote:
Code:
$ ls /proc/acpi/ac_adapter Strange enough, the acpi_listen identifies my AC adapter as ACPI0003 (below events when I unplugged and then plug my AC adapter) Code:
$ acpi_listen To be safe in your second script, the following change in bold red could be made as was done in this example Code:
ac_adapter) |
@gegechris99
Thanks for the feedback! I corrected both scripts now according to your points, in order to cover all the alternative naming. Not happy with the long conditional check form /etc/rc.d/rc.cpufreq, just a cosmetic thing, but I couldn't come up with a working shorter format/globbing like: Code:
if [ -r /proc/acpi/ac_adapter/A*/state ] |
Quote:
Code:
for value in AC ACAD ADP1 ADP2; do |
Thanks for the hint Didier, I tried to avoid any loops or nestings and more importantly using find(overkill).
It looks like somewhere upstairs these are not tolerated, that's in case these suggestions/script modifications will ever make their way into the Slackware base. |
All times are GMT -5. The time now is 01:10 AM. |