RFR: 8256265: G1: Improve parallelism in regions that failed evacuation [v3]
Albert Mingkun Yang
ayang at openjdk.org
Tue Sep 13 11:57:11 UTC 2022
On Tue, 13 Sep 2022 11:13:47 GMT, Thomas Schatzl <tschatzl at openjdk.org> wrote:
>> Hi all,
>>
>> can I have reviews on this change that makes the evacuation failure remove forwards phase split the work across threads within regions?
>>
>> This work is a continuation of PR#7047 from @Hamlin-Li and latest improvements from @albertnetymk in that thread. This is reflected in the first commit, I added a fair amount of changes to fix bugs and streamline the code.
>>
>> Testing: tier1-8 with G1EvacuationFailureALot enabled, tier1-5 as is
>
> Thomas Schatzl has updated the pull request incrementally with one additional commit since the last revision:
>
> sjohanss, albert review
src/hotspot/share/gc/g1/g1EvacFailureRegions.inline.hpp line 41:
> 39: HeapRegion* hr = g1h->region_at(region_idx);
> 40: G1CollectorState* state = g1h->collector_state();
> 41: hr->note_self_forwarding_removal_start(state->in_concurrent_start_gc());
It's unclear to me why it's called *here* -- we are still in the evacuation phase, self-forwarding-removal occurs in post-evacuation, isn't it?
src/hotspot/share/gc/g1/g1YoungGCPostEvacuateTasks.cpp line 140:
> 138: add_parallel_task(restore_retained_regions_task);
> 139:
> 140: restore_retained_regions_task->initialize();
Could this be merged in its constructor?
-------------
PR: https://git.openjdk.org/jdk/pull/9980
More information about the hotspot-dev
mailing list