[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 12:37:51 +0100 Luca Boccassi <bluca@debian.org> wrote:
> On Thu, 04 Jan 2024 17:16:57 +0800 Jy Deng <1700011628@pku.edu.cn>
> wrote:
> > Package: src:linux
> > Version: 6.6.9-1
> > Severity: normal
> > Tags: patch
> > X-Debbugs-Cc: 1700011628@pku.edu.cn
> >
> > Dear Maintainer,
> >
> > In short, current configuration of debian kernel makes some scaling
> governors
> > not usable, for example amd_pstate=passive Ondemand. Some small
> changes to
> > configuration can solve the problem.
> >
> > To sovle the problem there is two optional ways:
> > 1. Change some configurations like CONFIG_CPU_FREQ_GOV_POWERSAVE to y
> rather
> > than m
> > All the configuraion below needs to be chanegd to y:
> > CONFIG_CPU_FREQ_GOV_POWERSAVE=y
> > CONFIG_CPU_FREQ_GOV_USERSPACE=y
> > CONFIG_CPU_FREQ_GOV_ONDEMAND=y
> > CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
> >
> > 2. Change the configuration CONFIG_MODULE_COMPRESS_XZ=y to
> > CONFIG_MODULE_COMPRESS_NONE=y
> > Notice that CONFIG_MODULE_COMPRESS_XZ=y not only breaks cpu frequency
> governors
> > but also breaks make bindeb-pkg. See
> > https://bugzilla.kernel.org/show_bug.cgi?id=218341
> > So that choose this option can deal with this issue too.
> >
> > Two file attached is about the two ways above to fix the problem.
> >
> >
> >
> > Here is some explanation:
> >
> > Debian kernel used to set configuration as
> CONFIG_MODULE_COMPRESS_NONE=y. but
> > after 6.6 debian kernel configuration use CONFIG_MODULE_COMPRESS_XZ=y
> to
> > compress the kernel module. However, modules for cpu frequency
> governors is not
> > usable when it's module is compressed.
> >
> > For example, CONFIG_CPU_FREQ_GOV_POWERSAVE=m is fine to work if
> > CONFIG_MODULE_COMPRESS_NONE=y , but if CONFIG_MODULE_COMPRESS_XZ=y is
> set then
> > powersave governor is unavailable. This problem is same to other cpu
> frequency
> > governor configurations like CONFIG_CPU_FREQ_GOV_ONDEMAND=m
> >
> > On the other hand, configuration like CONFIG_CPU_FREQ_GOV_POWERSAVE=y
> build the
> > governor into kernel rather than module, so that such problem does
> not exist.
> >


Some tips that I already have:

1. Many distros like arch or fedora have change CONFIG_CPU_FREQ_GOV_POWERSAVE from m to y. It is possible that they all have met such problem.

2. In Debian bug report I find something that may have some relation. See bug #1010581

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.


What else I want to say:

1. Changing such configs from m to y can solve the problem with almost not cost. So I suggest thinking about it.

2.  Surely I accept your suggestion that it is very likely a small mistake from kernel upstream, since even at userspace I can load and use these module by manually modprobe. I want to communicate with upstream but  I do not know how to use kernel.org bugzilla. The problem I have is that, I do not know how to make a line end. You can see here (https://bugzilla.kernel.org/show_bug.cgi?id=218341) that I use some stupid way to make new lines. So could you teach me how to start new line in kernel bugzilla?


Thanks,

Jy Deng


Reply to: