RFR: 8277736: G1: Configure the distribution of objects failing evacuation among regions

Thomas Schatzl tschatzl at openjdk.java.net
Thu Nov 25 19:27:07 UTC 2021


On Thu, 25 Nov 2021 12:54:11 GMT, Hamlin Li <mli at openjdk.org> wrote:

> Currently, debug options of evacuation failure, like G1EvacuationFailureALotInterval and G1EvacuationFailureALotCount only config the ratio of objects failing evacuation, basically the distribution of objects failing evacuation is even among regions.
> 
> JDK-8256265 is trying to improve parallelism in regions that failed evacuation, it'll be helpful if there is option to config the distribution of objects failing evacuation among regions, so implementation of JDK-8256265 could be profiled more precisely.
> 
> This is to add the support and necessary vm options.

src/hotspot/share/gc/g1/g1YoungGCEvacFailureInjector.cpp line 47:

> 45:       _regions.set_bit(r->hrm_index());
> 46:       --_evac_failure_regions_num;
> 47:       return false;

Just an initial comment to think about and discuss: This would most likely always ever select the same regions (probably eden) that are first in the collection set.
I think selecting by probability (with G1EvacuationFailureALotCSetPercent uniform probability) would be more interesting even if it makes the selection more random.

-------------

PR: https://git.openjdk.java.net/jdk/pull/6561



More information about the hotspot-gc-dev mailing list