After a reboot the scaling_governor (/sys/devices/system/cpu/cpu*/cpufreq/scaling_governor) is not existing/not set for my Haswell setup. Clock speeds behave like ondemand/powersave.
Is this usually the case for Intel CPUs managed by intel_pstate?
The non-existing scaling_governor lets tools like gamemode fail as it tries to read the gov before it is entering gamemode and is thus unable to return → the system is stuck in performance gov even after gamemode has shut down. Tested with gamemode 1.5.1.
cpupower:
$ cpupower frequency-info
analyzing CPU 0:
driver: intel_pstate
CPUs which run at the same hardware frequency: 0
CPUs which need to have their frequency coordinated by software: 0
maximum transition latency: Cannot determine or is not supported.
hardware limits: 800 MHz - 3.70 GHz
available cpufreq governors: performance powersave
Unable to determine current policy
current CPU frequency: Unable to call hardware
current CPU frequency: 1.96 GHz (asserted by call to kernel)
boost state support:
Supported: yes
Active: yes
Use "cat" at non-symlinked addresses that "find" has found :) It'll show the current governor. I'm doubt if an cpu can run without a policy at all.
The intel_pstate driver has only two choices:"performance" and "powersave"
Inside of dir where "scaling_governor" is found: there should be the files with a self-descriptive names.
It is showing the available govs, the used driver as well as a link to the current scaling_gov. The current scaling_gov link is not valid until the gov is manually set on the tested Haswell system.
Answer to your edit: You are summarizing the problem quite well. The initial scaling_governor has to be set manually for Sandy Bridge and higher. Tools like gamemode are saving the previous scaling_governor, then setting the performance and try to return afterwards. If the scaling_governor was not set beforehand it will not return and stay on performance for the current boot.
Keeping in mind: The initial intel_pstate gov, which is not visible as a scaling_governor, will handle the system as if setting it to powersave - from my monitoring of the clock speeds. So this problem is only affecting tools which rely on a set scaling_governor - which should be powersave on boot in my opinion.
I’ll add the information to the gamemode issue I’ve created. As of today the gamemode, which is installed by default on F31, will set scaling_governor to performance and not restore after the application has been closed.