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