RFR: JDK-8217910: Slow linking with devkit on Linux

Claes Redestad claes.redestad at oracle.com
Mon Jan 28 22:24:37 UTC 2019


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