[aarch64-port-dev ] RFR: 8085805: aarch64: AdvancedThresholdPolicy lacks tuning of InlineSmallCode size
Vladimir Kozlov
vladimir.kozlov at oracle.com
Wed Jun 10 18:01:25 UTC 2015
Looks good to me.
Thanks,
Vladimir
On 6/10/15 5:58 AM, Edward Nevill wrote:
> Hi,
>
> http://cr.openjdk.java.net/~enevill/8085805/webrev/
>
> adds tuning of InlineSmallCode for aarch64.
>
> src/share/vm/runtime/advancedThresholdPolicy.cpp contains the following code which tunes the value of InlineSmallCode for X86 and SPARC.
>
> // Some inlining tuning
> #ifdef X86
> if (FLAG_IS_DEFAULT(InlineSmallCode)) {
> FLAG_SET_DEFAULT(InlineSmallCode, 2000);
> }
> #endif
>
> #ifdef SPARC
> if (FLAG_IS_DEFAULT(InlineSmallCode)) {
> FLAG_SET_DEFAULT(InlineSmallCode, 2500);
> }
> #endif
>
> set_increase_threshold_at_ratio();
> set_start_time(os::javaTimeMillis());
> }
>
> This webrev proposes changing this so that InlineSmallCode is increased to 2500 on aarch64 rather than the default of 1000. The change is simply to add AARCH64 to the conditional. IE.
>
> #if defined SPARC || defined AARCH64
> if (FLAG_IS_DEFAULT(InlineSmallCode)) {
> FLAG_SET_DEFAULT(InlineSmallCode, 2500);
> }
> #endif
>
> This change request was triggered by one of our partners reporting a 6x improvement in one benchmark when the size of InlineSmallCode is increased.
>
> I have done some testing to find the optimal size of InlineCodeSize for aarch64. The following shows the performance of various benchmarks against different sizes of InlineSmallCode.
>
> InlineSmallCode 100 1000 1500 2000 2500 3000 5000
>
> Grinderbench 440543 589792 595603 659213 665973 664663 667865
> Stringtest 65182 65304 65211 339946 329314 326831 296886
> SpecJVM2008 76.4 90.8 90.9 91.9 89.6 89.2 88.3
>
> The optimal value seems to be about 2000/2500. I have elected for the slightly higher value.
>
> Tested with JTreg/hotspot. In both cases, before and after the patch
>
> Test results: passed: 845; failed: 12; error: 6
>
> Please review,
> Thanks,
> Ed.
>
>
>
More information about the aarch64-port-dev
mailing list