Bug#1059969: linux-image-6.6.9-amd64: CONFIG_MODULE_COMPRESS_XZ=y breaks cpu frequency scaling governor kernel module
On Thu, 04 Jan 2024 15:04:53 +0100 Diederik de Haas
<didi.debian@cknow.org> wrote:
> On Thursday, 4 January 2024 14:34:10 CET Jy Deng wrote:
> > 3. I find that if CONFIG_CPU_FREQ_GOV_POWERSAVE=m, then
though such
> > module cannot be in use after boot at once, but it is
possible to
> > manually modprobe them. So it may indicate that to use
> > CONFIG_CPU_FREQ_GOV_POWERSAVE=m with
CONFIG_MODULE_COMPRESS_XZ=y is
> > actually possible. The problem we find here may be not so
fundamental.
>
> That's actually how it always worked.
> $ cat
/sys/devices/system/cpu/cpufreq/policy0/scaling_available_governors
>
> likely only lists 'performance' and 'schedutil'.
> /lib/modules/$(uname -r)/kernel/drivers/cpufreq/ lists several
more governors
> and when you modprobe them, they get added to
'scaling_available_governors'.
> And also to `cpupower frequency-info` -> 'available cpufreq
governors'.
>
> So if you can verify whether it works with 'modprobe' then
this is not a bug.
Fine. I have found the problem. It is a bug, but maybe I should
say it not a bug of kernel but a bug of cooperation.
The backgroud is : Debian (unlike some other distros) uses 'loadcpufreq'
to load scaling governors. However, 'loadcpufreq'
is an out-of-date .sh script that does not support compressed
kmod (which end with like .ko.xz or .ko.zst rather than .ko,
which is not considered in the script).
So when kernel
team decided to change the config to compress the kmod with
xz, the maintainer of package 'cpufrequtils' (which
includes 'loadcpufreq' script) did not get such information so
he/she did not make any update so that now the governors are
not available out of box.
I will report
bug to 'cpufrequtils' tomorrow.
Thanks.
Reply to: