RFR: JDK-8217910: Slow linking with devkit on Linux
Erik Joelsson
erik.joelsson at oracle.com
Mon Jan 28 22:27:45 UTC 2019
Thanks!
You are right, that comment is not needed. Removed and updated in place
(since it was just a comment).
/Erik
On 2019-01-28 14:24, Claes Redestad wrote:
> Looks great, thanks for fixing!
>
> Nit: I'd drop this comment "Ubuntu does this when building binutils so
> should be safe."
>
> /Claes
>
> On 2019-01-28 23:17, Erik Joelsson wrote:
>> Hello,
>>
>> While investigating performance with different linkers and linker
>> configuration, we discovered that the devkit linker on Linux (both
>> bfd and gold) was a lot slower than the native linker on Ubuntu (23s
>> vs 12s for bfd to link libjvm.so on my machine). They are both the
>> same version (2.30), so this was puzzling.
>>
>> It turned out to be a difference in how binutils was built. On Ubuntu
>> (and I assume most major Linux vendors), they explicitly set
>> CFLAGS="-O2" when running the build for binutils. I had naively
>> assumed that binutils set reasonable default CFLAGS in their build so
>> have not modified them like this before. I tried adding -O2 for our
>> devkit, and that created a kit with comparable linking performance on
>> par with the Ubuntu linker. Since this seems to be widely done, I
>> assume the change to be quite safe.
>>
>> With this patch, I'm modifying the devkit creation makefiles to add
>> -O2 when building binutils. I'm also adding --enable-threads so that
>> the user may run the gold linker with --threads (as well as updating
>> a download link which now requires https). For Oracle users, the
>> devkit versions are bumped in jib-profiles.js so the new devkits are
>> used.
>>
>> Bug: https://bugs.openjdk.java.net/browse/JDK-8217910
>>
>> Webrev: http://cr.openjdk.java.net/~erikj/8217910/webrev.01/index.html
>>
>> /Erik
>>
More information about the build-dev
mailing list