Re: [PATCH -tip v3 09/11] data_race: Avoid nested statement expression

From: Arnd Bergmann
Date: Tue May 26 2020 - 08:19:39 EST


On Tue, May 26, 2020 at 2:02 PM Will Deacon <will@xxxxxxxxxx> wrote:
> On Tue, May 26, 2020 at 12:42:16PM +0200, Arnd Bergmann wrote:
> >
> > I find this patch only solves half the problem: it's much faster than
> > without the
> > patch, but still much slower than the current mainline version. As far as I'm
> > concerned, I think the build speed regression compared to mainline is not yet
> > acceptable, and we should try harder.
> >
> > I have not looked too deeply at it yet, but this is what I found from looking
> > at a file in a randconfig build:
> >
> > Configuration: see https://pastebin.com/raw/R9erCwNj
>
> So this .config actually has KCSAN enabled. Do you still see the slowdown
> with that disabled?

Yes, enabling or disabling KCSAN seems to make no difference to
compile speed in this config and source file, I still get the 12 seconds
preprocessing time and 9MB file size with KCSAN disabled, possibly
a few percent smaller/faster. I actually thought that CONFIG_FTRACE
had a bigger impact, but disabling that also just reduces the time
by a few percent rather than getting it down to the expected milliseconds.

> Although not ideal, having a longer compiler time when
> the compiler is being asked to perform instrumentation doesn't seem like a
> show-stopper to me.

I agree in general, but building an allyesconfig kernel is still an important
use case that should not take twice as long after a small kernel change
regardless of whether a new feature is used or not. (I have not actually
compared the overall build speed for allmodconfig, as this takes a really
long time at the moment)

Arnd