Re: [PATCH v1 1/2] kbuild: Mark the kernel image gzip recipes as recursive

From: Paul E. McKenney

Date: Fri Oct 09 2026 - 11:52:51 EST


On Fri, Oct 09, 2026 at 01:05:00PM +0100, Lorenzo Stoakes (ARM) wrote:
> On Thu, Oct 08, 2026 at 11:27:30PM -0700, Kees Cook wrote:
> > Since commit 48ebe1cbbeb51 ("kbuild: compress the kernel with pigz if
> > available"), cmd_gzip runs pigz through scripts/jobserver-exec, which
> > takes the job slots make has free. GNU Make passes the jobserver pipe
> > only to recipes it treats as recursive, but leaves --jobserver-auth in
> > MAKEFLAGS for all of them. The make 4.3 in CentOS Stream 9 also hides
> > the pipe in sub-makes (a backport of the fix for GNU Make bug 58232), so
> > jobserver-exec cannot open it, runs pigz on one thread, and prints:
> >
> > WARNING: Unable to reopen jobserver read-side pipe: FileNotFoundError(2, 'No such file or directory')
> >
> > Mark the gzip recipes as recursive with "+", as commit ecab4115c44cc
> > ("kbuild: mark `rustc` (and others) invocations as recursive") did for
> > rustc. As with those, "make -n" now runs them.
> >
> > Tested ARCH=x86_64 and ARCH=arm64 defconfig with GNU Make 4.3 plus
> > CentOS Stream 9's make-4.3-cloexec.patch, GCC 16.2.0, and -j64: without
> > this change the warning appears and pigz runs with "-p 1"; with it there
> > is no warning, and pigz runs with "-p 54" and "-p 64".
> >
> > Reported-by: Paul E. McKenney <paulmck@xxxxxxxxxx>
> > Closes: https://lore.kernel.org/all/0ddb5e5e-f801-444c-aa98-0cfe814a3026@paulmck-laptop/
> > Fixes: 48ebe1cbbeb51 ("kbuild: compress the kernel with pigz if available")
> > Assisted-by: LLM
> > Signed-off-by: Kees Cook <kees@xxxxxxxxxx>
>
> Nice find!
>
> Acked-by: Lorenzo Stoakes (ARM) <ljs@xxxxxxxxxx>
>
> Sorry for breaking your build Paul ;)

Hey, this was the fastest bisection that I have ever done by far!

Normally it takes hours per step, but this was about 40 seconds per
step. ;-)

Thanx, Paul