RFR: 8277736: G1: Allow forced evacuation failure of first N regions in collection set

Albert Mingkun Yang ayang at openjdk.java.net
Tue Nov 30 10:02:05 UTC 2021


On Fri, 26 Nov 2021 02:34:41 GMT, Hamlin Li <mli at openjdk.org> wrote:

>> 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.
>
> Yes, currently I only make it select regions starting from first.
> The reason I don't add random selection is that, currently we need this functionality to verify the functionality and perf improvement of JDK-8256265 implementation, so a more stable selection of evacuation failure regions will help to verify the effect of JDK-8256265.
> 
> I agree that random selection is an interesting option to supply too, I just file https://bugs.openjdk.java.net/browse/JDK-8277851 to track the issue.

This PR makes the first X% regions in cset evac-fail, but `G1EvacuationFailureALotCSetPercent` doesn't show such bias. (It kind of implies uniform distribution, IMO.) It would be nice if the name and/or the explanation string could be more specific.

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

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



More information about the hotspot-gc-dev mailing list