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