On Wed, Sep 16, 2026 at 08:27:09AM -0700, Kees Cook wrote:
> On Wed, Sep 16, 2026 at 08:38:33AM +0200, Arnd Bergmann wrote:
> > On Wed, Sep 16, 2026, at 03:06, Kees Cook wrote:
> > > On Mon, Sep 14, 2026 at 10:22:20AM +0100, Lorenzo Stoakes (ARM) wrote:
> > >
> > > Makefile:
> > >
> > > KPGZIP := $(if $(shell command -v pigz 2>/dev/null),$(PYTHON3)
> > > $(abs_srctree)/scripts/jobserver-exec
> > > $(abs_srctree)/scripts/parallel-gzip,gzip)
> > >
> > > and the same scripts/parallel-gzip:
> > >
> > > #!/bin/sh
> > > exec pigz -p ${PARALLELISM:-1} "$@"
> > >
> > > And then replace the /boot/ KGZIP uses with KPGZIP. Then we don't need
> > > to change modules, config_data, new users, nor cmd_gzip, etc, which all
> > > continue to use the regular KGZIP and the "use python" part for the
> > > KPGZIP case becomes is a 1-time cost?
> >
> > Nice, I like the idea and this this will work. I didn't know about
> > scripts/jobserver-exec, but this does seem like a perfect fit.
> >
> > I checked the other compression tools we support, and found that
> > zstd is another one that has built-in support for parallel
> > compression, so we probably want to have it there as well.
>
> Follow-up idea:
>
> Having to make a dedicated wrapper script to use jobserver-exec is a bit
> clunky, so maybe the ergonomics need to be improved there slightly?
> Maybe we can add a simple template thingy to
> tools/lib/python/jobserver.py's "run" to replace, say, '%PARALLELISM%'
> automatically, then it becomes:
>
> KPGZIP := $(if $(shell command -v pigz 2>/dev/null),$(PYTHON3) \
> $(abs_srctree)/scripts/jobserver-exec \
> pigz -p %PARALLELISM%
Nice, that seems like a good little cleanup will fold that in, do some checks
then send the v3 out soon :)
>
> -Kees
>
> --
> Kees Cook
--
Cheers, Lorenzo