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