Re: [PATCH] erofs: Fix EROFS_FS_ZIP_LZMA_DEFAULT_MAX_STREAMS default logic

Geert Uytterhoeven <[email protected]>
Newsgroups org.ozlabs.lists.linux-erofs,org.kernel.vger.linux-kbuild,org.kernel.vger.linux-kernel
Message-ID <CAMuHMdVyUAA3L4mUkSjmnuE3cvj-+N8z-Bhxsh1wa-FQWc=fjw@mail.gmail.com>
CC kbuild

On Thu, 20 Aug 2026 at 12:01, Geert Uytterhoeven
<[email protected]> 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 <[email protected]>
> ---
>  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 -- [email protected]

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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.