Re: Recent slowdown in single object builds

From: Masahiro Yamada
Date: Sun Nov 17 2019 - 19:41:17 EST


On Sun, Nov 17, 2019 at 1:57 AM Jens Axboe <axboe@xxxxxxxxx> wrote:
>
> On 11/16/19 12:17 AM, Masahiro Yamada wrote:
> > On Sat, Nov 16, 2019 at 8:10 AM Jens Axboe <axboe@xxxxxxxxx> wrote:
> >>
> >> Hi,
> >>
> >> I've noticed that current -git is a lot slower at doing single object
> >> builds than earlier kernels. Here's an example, building the exact same
> >> file on 5.2 and -git:
> >>
> >> $ time make fs/io_uring.o
> >> real 0m5.953s
> >> user 0m5.402s
> >> sys 0m0.649s
> >>
> >> vs 5.2 based (with all the backports, identical file):
> >>
> >> $ time make fs/io_uring.o
> >> real 0m3.218s
> >> user 0m2.968s
> >> sys 0m0.520s
> >>
> >> Any idea what's going on here? It's almost twice as slow, which is
> >> problematic...


BTW, I am using a cheap machine based on Intel Core i7-6700K.
I can build fs/io_uring.o (based on x86_64_defconfig) much faster.


The slowdown (1.990 sec -> 2.861 sec) is not terrible for me.



masahiro@pug:~/ref/linux$ git describe
v5.2
masahiro@pug:~/ref/linux$ touch fs/io_uring.c; time make fs/io_uring.o
CALL scripts/checksyscalls.sh
CALL scripts/atomic/check-atomics.sh
DESCEND objtool
CC fs/io_uring.o

real 0m1.990s
user 0m1.723s
sys 0m0.427s




masahiro@pug:~/ref/linux-next$ git describe
next-20191115
masahiro@pug:~/ref/linux-next$ touch fs/io_uring.c; time make fs/io_uring.o
CALL scripts/checksyscalls.sh
CALL scripts/atomic/check-atomics.sh
DESCEND objtool
CC fs/io_uring.o

real 0m2.861s
user 0m2.373s
sys 0m0.642s





Snippet from my /proc/cpuinfo

processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 94
model name : Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz
stepping : 3
microcode : 0xd4
cpu MHz : 800.023
cache size : 8192 KB



> >
> >
> > This is necessary cost
> > to do single builds
> > (394053f4a4b3e3eeeaa67b67fc886a9a75bd9e4d)
> > but, it is much better in linux-next.
>
> Very sad that it's now twice as slow as before, that's a real problem.
> This isn't a marginal slowdown.
>
> I've never had issues with single object builds before, and in fact
> it's often useful to build stuff that's disabled as a single object.
> Where's the report that led to this commit being necessary?
>
> --
> Jens Axboe
>


--
Best Regards
Masahiro Yamada