RFR: 8265461: G1: Forwarding pointer removal thread sizing
Leo Korinth
lkorinth at openjdk.java.net
Wed Apr 21 13:05:41 UTC 2021
On Tue, 20 Apr 2021 09:34:45 GMT, Thomas Schatzl <tschatzl at openjdk.org> wrote:
> Hi all,
>
> can I have reviews for this change that improves forwarding pointer removal handling by adding thread sizing to the work gang?
>
> Since work is distributed per region at the moment, it does not make sense to start more threads than regions.
>
> This can particularly help performance with object/region pinning.
>
> Testing: tier1-3, using self-verification code
>
> Thanks,
> Thomas
src/hotspot/share/gc/g1/g1CollectedHeap.cpp line 3665:
> 3663:
> 3664: _expand_heap_after_alloc_failure = true;
> 3665: _num_regions_failed_evacuation = false;
_num_regions_failed_evacuation = 0; ?
src/hotspot/share/gc/g1/g1EvacFailure.cpp line 211:
> 209:
> 210: public:
> 211: RemoveSelfForwardPtrHRClosure(G1RedirtyCardsQueueSet* rdcqs, uint worker_id, uint volatile* num_failed_regions) :
Maybe increment failed regions through G1CollectedHeap instead of a pointer to the value?
src/hotspot/share/gc/g1/g1EvacFailure.cpp line 285:
> 283: uint G1ParRemoveSelfForwardPtrsTask::num_failed_regions() const {
> 284: return Atomic::load(&_num_failed_regions);
> 285: }
Maybe add newline, C++11 allows no newline, but github complains.
-------------
PR: https://git.openjdk.java.net/jdk/pull/3585
More information about the hotspot-gc-dev
mailing list