Re: [PATCH] erofs: Fix EROFS_FS_ZIP_LZMA_DEFAULT_MAX_STREAMS default logic
From: Geert Uytterhoeven
Date: Thu Aug 20 2026 - 06:22:42 EST
CC kbuild
On Thu, 20 Aug 2026 at 12:01, Geert Uytterhoeven
<geert+renesas@xxxxxxxxx> wrote:
> When NR_CPUS is less than 16, or when SMP is disabled, the default value
> of 16 is invalid.
>
> While actual configuration picks up a sensible and valid default
> (NR_CPUS or 1), "make savedefconfig" will still write a line like
>
> CONFIG_EROFS_FS_ZIP_LZMA_DEFAULT_MAX_STREAMS=1
>
> to the defconfig file, even if that matches the sensible default.
Is this a bug in kconfig?
> Avoid needlessly enlarging the defconfig files, and reduce churn for
> updating them, by specifying valid defaults depending on SMP and
> NR_CPUS.
>
> While at it, make the prompt depend on SMP, as there is no point in
> asking the user about the maximum number of decompression streams if
> there is only one valid answer.
>
> Fixes: c9b47e6b23114e93 ("erofs: cap LZMA stream pool size")
> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
> ---
> fs/erofs/Kconfig | 8 +++++---
> 1 file changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/fs/erofs/Kconfig b/fs/erofs/Kconfig
> index 2dfc313588d283a0..37495e95a78d9bf6 100644
> --- a/fs/erofs/Kconfig
> +++ b/fs/erofs/Kconfig
> @@ -132,11 +132,13 @@ config EROFS_FS_ZIP_LZMA
> Say N if you want to disable LZMA compression support.
>
> config EROFS_FS_ZIP_LZMA_DEFAULT_MAX_STREAMS
> - int "EROFS LZMA default maximum decompression streams"
> + int "EROFS LZMA default maximum decompression streams" if SMP
> depends on EROFS_FS_ZIP_LZMA
> range 1 NR_CPUS if SMP
> range 1 1 if !SMP
> - default 16
> + default 16 if SMP && NR_CPUS >= 16
> + default NR_CPUS if SMP
> + default 1
> help
> By default EROFS allocates one LZMA decompression stream per CPU.
> Each stream can hold a dictionary of up to 8 MiB taken from the
> @@ -144,7 +146,7 @@ config EROFS_FS_ZIP_LZMA_DEFAULT_MAX_STREAMS
> of memory. This caps the default; the lzma_streams module parameter
> still overrides it.
>
> - If unsure, keep the default of 16.
> + If unsure, keep the suggested default (16 or lower).
>
> config EROFS_FS_ZIP_DEFLATE
> bool "EROFS DEFLATE compressed data support"
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds