Skip to content

d/config: Fix broken configs that were being resolved differently by kconfig

Some of our architecture and flavour configurations were a bit broken, and kconfig resolves the problems differently after commit f79dc03fe68c ("kconfig: refactor choice value calculation") in 6.11:

[hppa/parisc64]

-# CONFIG_FLATMEM_MANUAL is not set
-CONFIG_SPARSEMEM_MANUAL=y
-CONFIG_SPARSEMEM=y
-CONFIG_SPARSEMEM_EXTREME=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
-CONFIG_DEFERRED_STRUCT_PAGE_INIT=y

We must enable either FLATMEM_MANUAL or SPARSEMEM_MANUAL, but wrongly tried to disable both!

We used to get SPARSEMEM_MANUAL by default, which I assume is correct, so enable that explicitly now.

[riscv64]

-CONFIG_KERNEL_GZIP=y
-# CONFIG_KERNEL_ZSTD is not set
+# CONFIG_KERNEL_GZIP is not set
+CONFIG_KERNEL_ZSTD=y

We enable KERNEL_XZ in the top-level config, but its dependencies are not met on riscv64. We used to get the default choice, KERNEL_GZIP, even though we explicitly disabled that. Now we get KERNEL_ZSTD which is the only option in this choice that we don't explicitly enable or disable.

We should not use KERNEL_ZSTD as it requires a bootloader update (pointed out by Aurelien), so override the top-level config to enable KERNEL_GZIP instead of KERNEL_XZ.

[x86]

-# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
-CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL=y
+CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL is not set

We try to enable CPU_FREQ_DEFAULT_GOV_ONDEMAND, but since 5.10 it cannot be selected as it depends on !(X86_INTEL_PSTATE && SMP). We used to get the default choice, CPU_FREQ_DEFAULT_GOV_SCHEDUTIL, even though we explicitly disabled that. Now we get CPU_FREQ_DEFAULT_GOV_PERFORMANCE.

schedutil is actually the sensible default now, so override the top-level config to enable CPU_FREQ_DEFAULT_GOV_SCHEDUTIL instead of CPU_FREQ_DEFAULT_GOV_PERFORMANCE.

Merge request reports

Loading