RFR: 8267836: Separate eager reclaim remembered set threshold from G1RSetSparseRegionEntries

Leo Korinth lkorinth at openjdk.java.net
Mon May 31 11:09:17 UTC 2021


On Fri, 28 May 2021 13:56:01 GMT, Thomas Schatzl <tschatzl at openjdk.org> wrote:

> Hi all,
> 
>   currently the remembered set eager reclaim threshold is based directly on G1RSetSparseRegionEntries. I.e. otherwise eligible humongous objects are only considered candidates for eager reclaim if their remembered set has less than G1RSetSparseRegionEntries entries.
> 
> The reason for this limitation has been that before JDK-8233919 (in JDK14) it has been very expensive to get a remembered set size estimate if the remembered set for that heap region had expanded to fine tables.
> 
> This is not the case any more, and there are situation where you want to set this threshold (much) larger than the number of sparse table entries.
> 
> By default, this new value will still be based on the current value. 
> 
> Unfortunately I did not manage to create a useful test case that verifies whether a given threshold is met.
> 
> Testing: tier1
> 
> Thanks,
>   Thomas

src/hotspot/share/gc/g1/g1Arguments.cpp line 58:

> 56:   // on it.
> 57:   if (FLAG_IS_DEFAULT(G1EagerReclaimRemSetThreshold)) {
> 58:       guarantee(G1RSetSparseRegionEntries > 0, "");

please reduce "guarantee()" indentation and  consider not using an empty string

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

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



More information about the hotspot-gc-dev mailing list