RFR: 8276066: Reset LoopPercentProfileLimit for x86 due to suboptimal performance

Jie Fu jiefu at openjdk.java.net
Tue Nov 2 23:52:08 UTC 2021


On Mon, 1 Nov 2021 07:46:01 GMT, Tobias Hartmann <thartmann at openjdk.org> wrote:

>>> I'll run this through our performance testing and report back.
>> 
>> Thanks @TobiHartmann .
>
>> I'll run this through our performance testing and report back.
> 
> Performance results look good.
> 
> Is this change still required after re-enabling post loop vectorization?

Hi @TobiHartmann ,

The `LoopPercentProfileLimit` was changed from 10 to 30 (logically) on x86 to enable post loop vectorization in JDK-8149421.
However, post loop vectorization was disabled by JDK-8183103 without restoring the original value of `LoopPercentProfileLimit` to 10 on x86.

So do you agree that we'd better restore `LoopPercentProfileLimit=10` if post loop vectorization is disabled?                 

According to the comment by @pfustc  in JDK-8183390, JEP 417: Vector API (Third Incubator) [1] is needed to enable post loop vectorization.
But I'm not sure whether `LoopPercentProfileLimit=30` is still the best choice for x86.
Maybe, it should be re-tuned based on the new implementation too.
So it doesn't matter to restore `LoopPercentProfileLimit=10` in the jdk mainline.

And it seems hard to re-enable post loop vectorization for jdk versions without Vector API (e.g., jdk11).
So for better performance experience on x86, I suggest restoring `LoopPercentProfileLimit=10` if post loop vectorization is hard to be re-enabled, which means we'd better restore `LoopPercentProfileLimit=10` for jdk11 too.

What do you think?
Thanks.

[1] https://github.com/openjdk/jdk/pull/5873

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

PR: https://git.openjdk.java.net/jdk/pull/6142


More information about the hotspot-compiler-dev mailing list