2019-11-15 23:12:08

by Jens Axboe

[permalink] [raw]
Subject: Recent slowdown in single object builds

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...

--
Jens Axboe


2019-11-16 07:22:43

by Masahiro Yamada

[permalink] [raw]
Subject: Re: Recent slowdown in single object builds

On Sat, Nov 16, 2019 at 8:10 AM Jens Axboe <[email protected]> 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...



This is necessary cost
to do single builds
(394053f4a4b3e3eeeaa67b67fc886a9a75bd9e4d)
but, it is much better in linux-next.



--
Best Regards
Masahiro Yamada

2019-11-16 17:00:36

by Jens Axboe

[permalink] [raw]
Subject: Re: Recent slowdown in single object builds

On 11/16/19 12:17 AM, Masahiro Yamada wrote:
> On Sat, Nov 16, 2019 at 8:10 AM Jens Axboe <[email protected]> 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...
>
>
>
> 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

2019-11-18 00:44:54

by Masahiro Yamada

[permalink] [raw]
Subject: Re: Recent slowdown in single object builds

On Sun, Nov 17, 2019 at 1:57 AM Jens Axboe <[email protected]> wrote:
>
> On 11/16/19 12:17 AM, Masahiro Yamada wrote:
> > On Sat, Nov 16, 2019 at 8:10 AM Jens Axboe <[email protected]> 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

2019-11-18 02:38:59

by Jens Axboe

[permalink] [raw]
Subject: Re: Recent slowdown in single object builds

On 11/17/19 5:40 PM, Masahiro Yamada wrote:
> On Sun, Nov 17, 2019 at 1:57 AM Jens Axboe <[email protected]> wrote:
>>
>> On 11/16/19 12:17 AM, Masahiro Yamada wrote:
>>> On Sat, Nov 16, 2019 at 8:10 AM Jens Axboe <[email protected]> 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.

For those of us that do single object builds all the time the slowdown
is pretty damn terrible. Granted that your 44% slowdown isn't as bad as
my 85% slowdown, but it's still a MASSIVE slowdown.

--
Jens Axboe