Integrated: 8254167 G1: Record regions where evacuation failed to provide targeted iteration
Hamlin Li
mli at openjdk.java.net
Wed Sep 8 08:05:11 UTC 2021
On Fri, 27 Aug 2021 04:09:52 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.
This pull request has now been integrated.
Changeset: a66629a4
Author: Hamlin Li <mli at openjdk.org>
URL: https://git.openjdk.java.net/jdk/commit/a66629a464b97176bcdc2ca1150d12df6241dc1c
Stats: 417 lines in 16 files changed: 283 ins; 65 del; 69 mod
8254167: G1: Record regions where evacuation failed to provide targeted iteration
Reviewed-by: tschatzl, ayang
-------------
PR: https://git.openjdk.java.net/jdk/pull/5272
More information about the hotspot-gc-dev
mailing list