I have a lack of understanding of CPU scaling governors.
I understand that are many of them, and try to setup best using TLP, but not all of them are available in my system. So I want to understand why only some of them are available and if I can add more.
Arch kernel 6.0.12 has only performance | powersave and is governed by intel_pstate
Liquorix kernel 6.0.12 has only ondemand | userspace | performance and is governed by acpi-cpufreq
CPU frequency governors are distinct CPU frequency scaling algorithms implemented in the kernel. In essence they are independent of specific CPU scaling drivers which just relay the by the active governor made decision to the hardware. intel_pstate however does not in fact use the generic governor framework – I do not know why not – but implements it’s own scaling algorithms, performance and powersave only indeed, so that is as expected.
acpi_cpufreq does use the generic framework and for me it does provide access to all in my active kernel implemented algorithms:
As far as I’m aware the fact that you with acpi-cpufreq only get ondemand, userspace and performance on that Liquorix kernel would be to mean that the others were not compiled in; see that parsing of /proc/config.gz or /boot/config-$(uname -r) for that system/kernel.
intel_pstate would be the default for newer Intel CPUs so the fact that Liquorix uses acpi-cpufreq in the first place probably means that either it’s not compiling in intel_pstate at all or disables it with a kernel command-line parameter intel_pstate=disable; the driver has been known to cause issues.
Thank you so much for detailed answer. Not sure why they disabled over governors, but it is now clear from the:
CONFIG_CPU_FREQ_GOV_ATTR_SET=y
CONFIG_CPU_FREQ_GOV_COMMON=y
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set
CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set
# CONFIG_CPU_FREQ_GOV_SCHEDUTIL is not set