RFR: 8254167 G1: Record regions where evacuation failed to provide targeted iteration [v5]
Hamlin Li
mli at openjdk.java.net
Thu Sep 2 06:21:31 UTC 2021
On Wed, 1 Sep 2021 03:40:22 GMT, Hamlin Li <mli at openjdk.org> wrote:
>> This is another try to optimize evcuation failure for regions.
>> I record evacuation failed regions, and iterate these regions directly rather than iterate the whole cset.
>> The implementation reuses and refactors some of the existing data in g1CollectedHeap (_regions_failed_evacuation, _num_regions_failed_evacuation), and records these regions in an array, and iterate this array later in post evacuation phase.
>>
>> I have 2 implementations:
>>
>> - 1) CHT (Initial version)
>> - 2) bitmap (latest version, reuse _regions_failed_evacuation in g1CollectedHeap)
>>
>> This implementation does not consider work distribution as mentioned in JDK-8254167 yet. But seems it already get better&stable performance gain than origin. We could improve it further later if work distribution is necessary.
>>
>> I will attach the perf data in JBS.
>
> Hamlin Li has updated the pull request incrementally with one additional commit since the last revision:
>
> Modify as review comments suggested.
The rerun of presubmit test show that it passed all tests, except of java/util/regex/NegativeArraySize.java which I think it's irrelevant to this patch, as I saw it in several different pr.
latest presumt test result is here: https://github.com/Hamlin-Li/jdk/actions/runs/1188690717
-------------
PR: https://git.openjdk.java.net/jdk/pull/5272
More information about the hotspot-gc-dev
mailing list