[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: