Re: [PATCH] erofs: fix EROFS_FS_ZIP_LZMA_DEFAULT_MAX_STREAMS on some UP platforms
Geert Uytterhoeven <[email protected]>
| Newsgroups | org.ozlabs.lists.linux-erofs,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <CAMuHMdVgjeRLGKwiWsFWfmh=1cStyh2PmLdw1xzyO=ighGRbTA@mail.gmail.com> |
Hi Gao, Thanks for your patch! On Wed, 12 Aug 2026 at 15:12, Gao Xiang <[email protected]> wrote: > CONFIG_NR_CPUS doesn't define on some UP platforms (e.g. arm), so this > can cause make oldconfig to loop indefinitely when CONFIG_SMP=n: > > $ make ARCH=arm allmodconfig > $ sed -i "/CONFIG_SMP=y/d" .config > $ sed -i "/CONFIG_EROFS_FS_ZIP_LZMA_DEFAULT_MAX_STREAMS.*/d" .config > > EROFS LZMA default maximum decompression streams (EROFS_FS_ZIP_LZMA_DEFAULT_MAX_STREAMS) [0] (NEW) > EROFS LZMA default maximum decompression streams (EROFS_FS_ZIP_LZMA_DEFAULT_MAX_STREAMS) [0] (NEW) > ... This also fixes EROFS_FS_ZIP_LZMA_DEFAULT_MAX_STREAMS silently becoming zero (and thus breaking decompression completely?) for "automatic" configs like "make allmodconfig" or "make olddefconfig" on architectures where NR_CPUS depends on SMP (which is most of them). > > Let's guard NR_CPUS with SMP instead of using a hardcoded arbitrary CPU > uplimit here, similar to commit a3344078101c ("mm: make SPLIT_PTE_PTLOCKS > depend on SMP"). > > The initial report from SJ Park was for m68k [1] (m68k is the only arch > without NR_CPUS in Kconfig), and it will be changed in another patch [2]. > > [1] https://lore.kernel.org/all/[email protected]/T/#u > [2] https://lore.kernel.org/r/[email protected] > > Reported-by: SJ Park <[email protected]> > Closes: https://lore.kernel.org/r/[email protected] > Reported-by: Guenter Roeck <[email protected]> > Closes: https://lore.kernel.org/r/[email protected] > Fixes: c9b47e6b2311 ("erofs: cap LZMA stream pool size") > Cc: Geert Uytterhoeven <[email protected]> > Signed-off-by: Gao Xiang <[email protected]> Tested-by: Geert Uytterhoeven <[email protected]> > --- a/fs/erofs/Kconfig > +++ b/fs/erofs/Kconfig > @@ -134,7 +134,8 @@ config EROFS_FS_ZIP_LZMA > config EROFS_FS_ZIP_LZMA_DEFAULT_MAX_STREAMS > int "EROFS LZMA default maximum decompression streams" > depends on EROFS_FS_ZIP_LZMA > - range 1 NR_CPUS > + range 1 NR_CPUS if SMP > + range 1 1 if !SMP > default 16 > help > By default EROFS allocates one LZMA decompression stream per CPU. 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