RFR: 8301869: Regression ~14% in J2dBench-bimg_misc-* in 21-b5 only on linux-aarch64 [v2]

Jayathirth D V jdv at openjdk.org
Wed Mar 1 06:27:09 UTC 2023


On Tue, 28 Feb 2023 20:45:38 GMT, Phil Race <prr at openjdk.org> wrote:

>> I think you have read more about the differences between -fpic and -fPIC than I have, so nothing I can add here.
>> 
>> Making this option only on aarch64 seems like a reasonable idea if that's where we see the effect.
>
>> I dont think -fPIC is implied by -fpic. @erikj79 please clarify.
> 
> That isn't what I said.
> I said they they do very similar things, based on the references I read
> with just a specific difference is that lower case "fpic" can be limited in size.
> 
> which is why I  wrote
>>  So far as I can tell the -fpic are using just limits the size of the global offset table that -fPIC will generate.
> 
> My comment
>> Since we had an unlimited offset table before, then -fpic won't change anything.
> 
> I was trying to point out that if your eval + fix is explained by saying we no longer
> have "-fpic" then that's wrong. We never had -fpic.
> We didn't change compiler options, but clearly performance changed
> 
> 
> The man page you just linked does explain how the mechanism -fpic uses
> which limits size could result in better performance
> 
> " When generating code for shared libraries, -fpic implies
>            -msmall-data and -fPIC implies -mlarge-data."
> 
> "When -msmall-data is used,
>            objects 8 bytes long or smaller are placed in a small data
>            area (the ".sdata" and ".sbss" sections) and are accessed via
>            16-bit relocations off of the $gp register."
>  
> So on some architectures it can be faster.
> 
> BUT since we were using -fPIC for a long time, I am not seeing how  you've
> explained WHY we now need to explicitly use -fpic to get the performance back ?
> In other words "we mysteriously lost performance, but I've found an option that helps".
> 
> So possibly, if you applied -fpic to the JDK before the regression it would get even faster ...

Thanks @prrace. I will analyse further why -fpic is causing change in behaviour in our case.

-------------

PR: https://git.openjdk.org/jdk/pull/12761



More information about the build-dev mailing list