Re: [PATCH] linux/compiler-clang.h: define HAVE_BUILTIN_BSWAP*
From: Nathan Chancellor
Date: Thu Feb 25 2021 - 15:21:02 EST
On Thu, Feb 25, 2021 at 12:14:17PM -0800, Kees Cook wrote:
>
On Thu, Feb 25, 2021 at 12:06:37PM -0800, Andrew Morton wrote:
>
> On 2021年2月25日 12:03:48 -0800 Kees Cook <keescook@xxxxxxxxxxxx> wrote:
>
>
>
> > On Thu, Feb 25, 2021 at 05:45:09PM +0100, Arnd Bergmann wrote:
>
> > > From: Arnd Bergmann <arnd@xxxxxxxx>
>
> > >
>
> > > Separating compiler-clang.h from compiler-gcc.h inadventently dropped the
>
> > > definitions of the three HAVE_BUILTIN_BSWAP macros, which requires falling
>
> > > back to the open-coded version and hoping that the compiler detects it.
>
> > >
>
> > > Since all versions of clang support the __builtin_bswap interfaces,
>
> > > add back the flags and have the headers pick these up automatically.
>
> > >
>
> > > This results in a 4% improvement of compilation speed for arm defconfig.
>
> > >
>
> > > Fixes: 815f0ddb346c ("include/linux/compiler*.h: make compiler-*.h mutually exclusive")
>
> > > Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
>
> >
>
> > Cc: stable@xxxxxxxxxxxxxxx
>
>
>
> I figured 4% better compile time isn't significant enough to justify a
>
> backport. Thoughts?
>
>
It's a trivial change, so I think it's worth it?
Indeed. Any wins that we can get with compile time, we should take.
Clang is being widely used in production systems now so I feel like with
a trivial change plus user visible impact, it should be backported.
Not to mention that the generated code in theory should be better
because it is the compiler's builtin, rather than a hand rolled one, AND
this is technically a regression, given that it worked before compiler.h
was split.
Cheers,
Nathan
>
>
>
> > Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx>
>
>
>
>
--
>
Kees Cook