On Mon, Sep 14, 2026 at 11:02:22AM -0400, John Stoffel wrote:
> >>>>> "Lorenzo" == Lorenzo Stoakes (ARM) <[email protected]> writes:
>
> > Each kernel make invocation begins with ~30 compiler and linker runs each
> > of which performs duplicate probe for a number of compiler and linker
> > options.
>
> > This is useless work - the compiler and its version is known, so use these
> > to determine which options are available, once.
>
> > A convention already exists for this - CC_HAS_xxx, LD_HAS_xxx in Kconfig
> > files (for example, CC_HAS_COUNTED_BY), so convert these probes to Kconfig
> > options where appropriate.
>
> > This change avoids a sublte issue with ppc32 (big endian) - clang doesn't
>                        ^^^^^^
>
> subtle

Oops!

I love that I ran this through AI review several times and it missed
something as simple as this :)

>
> > accept -fno-stack-clash-protection on this sub-target, so keep this option
> > in the Makefile.
>
> > With gcc and clang, defconfig and allmodconfig, the recorded command
> > lines are unchanged, a build with nothing to do rebuilds nothing and W=1
> > continues to function correctly.
>
> > Doing this improves all builds, but has a particularly positive impact on
> > no-op builds (builds where nothing has changed).
>
> > Whole build, 128-thread Threadripper 9980X, best of N runs:
>
> >                                          before   after     delta
> >                                          -------------------------------
> >   x86 defconfig, no-op make, gcc           0.78s    0.60s    -0.18s (-23%)
> >   x86 defconfig, no-op make, clang         0.94s    0.66s    -0.28s (-30%)
> >   x86 defconfig, touch mm/vma.c, gcc        8.6s     8.5s    -0.16s (-2%)
> >   x86 defconfig, touch mm/vma.c, clang      8.0s     7.7s    -0.24s (-3%)
> >   x86 defconfig, clean, clang              29.8s    29.4s    -0.37s (-1%)
> >   x86 allmodconfig, no-op make, gcc        12.9s    12.7s    -0.23s (-2%)
> >   x86 allmodconfig, no-op make, clang      14.2s    13.9s    -0.29s (-2%)
> >   x86 allmodconfig, touch mm/vma.c, clang  32.2s    31.9s    -0.30s (-1%)
>
> Are these deltas just per-patch, but cumulative with all the previous
> patches applied?
>

Per-patch. I let the threadripper do builds for a LONG time to accumulate
these... :)

--
Cheers, Lorenzo

Reply via email to