RFR: 8228991: Obsolete -XX:UseAdaptiveGCBoundary
Thomas Schatzl
thomas.schatzl at oracle.com
Wed Apr 15 08:49:10 UTC 2020
Hi,
On 15.04.20 00:23, Kim Barrett wrote:
> Please review this change which obsoletes the boolean product flag
> -XX:UseAdaptiveGCBoundary and removed the supporting code.
>
> As discussed in the associated CSR, this feature has had a long bug
> tail and does not appear to have ever really worked, so we're going
> straight to obsoleting the option and removing the code, rather than
> first deprecating it.
>
> This mostly involves removal of a bunch of code. In some places there
> are functions which previously needed to be virtual but no longer need
> that because the derived classes no longer exist.
>
> There is an assertion in ParallelScavengeHeap::initialize() that was
> changed by removing !UseAdaptiveGCBoundary from a disjunction, which
> is not what one would expect if making that option unconditionally
> false. It looks like the presence of a test for that option never
> mattered, as except in the heterogeneous heap case the virtual spaces
> have always supposed to meet (it's using AdjoiningGenerations after
> all) and did so.
>
> CR:
> https://bugs.openjdk.java.net/browse/JDK-8228991
> https://bugs.openjdk.java.net/browse/JDK-8242164 (CSR)
>
> Webrev:
> https://cr.openjdk.java.net/~kbarrett/8228991/open.00/
>
> Testing:
> mach5 tier1-5.
>
thanks for tackling this.
Found some outdated comments:
- maybe add a release note for this to get some more publicity of that
change (if we want it)
- adjoiningenerations.hpp:36: s/down/done (pre-existing)
- in the same paragraph, I think the last sentence referes to moving the
boundary and should be removed.
- adjoiningVirtualSpaces.hpp: the comment at the beginning of the file
also refers to moving the boundary.
- PSGCAdaptivePolicyCounters::_boundary_moved and related code is
obsolete now
- outdated comment for PSScavenge::set_young_generation_boundary (both
in hpp and cpp file)
- comment in psYoungGen::gen_size_limit() outdated
> Note: Unable to test nvdimm usage since we don't have any machines
> with that configuration.
The only related option Parallel GC supports is AllocateHeapAt, and you
can pass it any arbitrary file name. I.e. you could test it by
specifying a file name in a memory backed directory.
Since the impact is only memory reservation, I do not expect a
difference though.
Thanks,
Thomas
-
More information about the hotspot-gc-dev
mailing list